我正在尝试使用我的Binder子类公开方法。我要把我的服务归还Binder等等......
我的问题是:我可以在其他类中定义我的Binder实现调用方法吗?例如,我正在使用XMPP连接,登录和发送聊天消息。如果我在不同的类中定义这些方法(从模块化的角度来看是有意义的),我可以通过我的Binder简单地公开它们吗?
另外,我的理解是你不再需要使用AIDL for IPC(http://developer.android.com/guide/topics/fundamentals/bound-services.html#Messenger),而是你可以使用信使。关于活动(或其他应用程序组件)如何绑定然后调用我的Binder公开的特定方法,我有点不清楚。
任何样品或只是让我直截了当都会非常感激。
感谢。
答案 0 :(得分:2)
我的问题是:我可以在其他类中定义我的Binder实现调用方法。
一般来说,确定,为什么不呢?
如果我在不同的类中定义这些方法(从模块化角度来看是有意义的),我可以通过我的Binder简单地公开它们吗?
原则上,是的,但它可能取决于“那些方法”实际上是什么。
另外,我的理解是你不再需要使用AIDL for IPC(http://developer.android.com/guide/topics/fundamentals/bound-services.html#Messenger),而是你可以使用信使
有多种方法可以在Android中使用服务进行IPC。 AIDL就是其中之一。将Messenger
放在Intent
个额外内容是另一个。它们不是相互矛盾的,还有其他选择。
关于活动(或其他应用程序组件)如何绑定然后调用我的Binder公开的特定方法,我有点不清楚。
他们使用bindService()
致电ServiceConnection
,然后使用Binder
的{{1}}方法提供的ServiceConnection
。