我面临以下问题。
我的应用程序需要在两个服务之间进行通信,一个用于网络,一个用于基本的电话服务。
现在,我做了以下工作来实现IPC:
我将BinderClass扩展为正常值,并在Binder方法中返回自己的onBind()。那就行了。但现在我想除此之外,还可以在我的ServiceActivity之间发送消息。但问题就在这里。因为我在Binder方法中返回了自己的onBind(),如下所示:

@Override
public IBinder onBind(Intent intent){
    Log.d(this.getClass().getName(), "BIND");
    return binderToThisProcess;
}

我不能再返回像这样的附加信使:
...
return outMessenger.getBinder();

当然,这很明显,因为return语句只允许返回一个对象。
我的问题是:有什么方法可以将Messenger附加到我自己的Binder上吗?或者有类似的方法来实现我想要的吗?还是我错过了什么?

最佳答案

对我来说,解决方案似乎非常明显——只要编写自己的类来扩展Binder。您可以将任何自定义字段或方法添加到CustomBinder类中。只需实例化CustomBinder并在onBind()方法中返回它。

关于android - 使用Messenger和Binders进行进程间通信,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12691408/

10-10 18:30