gpt4 book ai didi

android - 使用 Messengers 和 Binders 进行进程间通信

转载 作者:太空狗 更新时间:2023-10-29 13:33:57 26 4
gpt4 key购买 nike

我面临以下问题。

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

现在,我做了以下操作来实现 IPC:

我像往常一样扩展了 BinderClass,并在我的 onBind() 方法中返回了一个自己的 Binder。那很好用。但现在我希望除此之外还可以在我的 ServiceActivity 之间发送消息。但问题就在这里。因为我在 onBind() 方法中返回了我自己的 Binder,如下所示:

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

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

...
return outMessenger.getBinder();

当然这是显而易见的,因为 return 语句只允许返回一个对象。

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

最佳答案

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

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com