3

我面临以下问题。

我的应用程序需要在 2 个服务之间进行通信,1 个用于网络,1 个用于基本的电话服务。

现在,我做了以下实现IPC:

BinderClass我照常扩展,并Binder在我的onBind()方法中返回一个自己的。这工作得很好。但现在我还想拥有在 myService和 my之间发送消息的可能性Activity。但问题就在这里。Binder因为我在这样的onBind()方法中返回我自己的:

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

我不能像这样返回一个额外的 Messenger:

...
return outMessenger.getBinder();

我的意思当然是这很明显,因为 return 语句只允许返回一个 Object。

我的问题是:有什么办法可以附加Messenger到我自己的Binder吗?或者有没有类似的方法来实现我正在寻找的东西?还是我错过了什么?

4

1 回答 1

2

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

于 2012-10-25T14:18:48.760 回答