flowbird
2017-03-03 09:49AIDL写远程服务的时候,Service的onBind返回值类型的问题
1比如我写了个远程Service
public class TestService extends Service {
private IBinder mBinder=new ITest.Stub(){
@Override
public int show(int num1, int num2) throws RemoteException {
return num1+num2;
}
};
@Nullable
@Override
public IBinder onBind(Intent intent) {
return mBinder;
}
}
ITest.Stub就是AIDL工具生产的一个类。
我们在activity中bindservice时候,肯定会有public void onServiceConnected(ComponentName name, IBinder service)这个函数,这个service我debug显示是个BinderProxy,他也应该是这个类型的!
但是我追Bindservice源码的时候自己却矛盾了,因为我发现这个public void onServiceConnected函数的IBinder类型的service这个参数,其实就是我上面写的service的onbind方法的返回值。可是我onbind返回的是一个iTest.Stub extends Binder,那不应该是个binder类么??怎么就成了BinderProxy了?我也没找到哪里转换,或者构建的。
求大神解惑
- 点赞
- 回答
- 收藏
- 复制链接分享
1条回答
为你推荐
- android studio报错Failed to resolve
- android-studio
- 1个回答
- android 手机电话拦截
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- Android如何主工程和library工程使用同一个aidl文件
- aidl
- 1个回答
- Android Studio报错 java.lang.IllegalStateException
- android-studio
- tag
- 10个回答
- 安卓中AIDL里面onServiceConnected和bindService两个函数执行顺序的问题
- 2个回答
换一换