什么是一个活动和android上的服务之间的沟通方式?
今天,我学会了如何通过发送从活动的意图及回复使用BroadcastRecevier沟通。
这是我的其他选择? 有没有人有这方面的教程/引用吗?
这个问题的答案是:
有一个活动与服务通信,反之亦然几种方式。 本节兼谈的不同方式,并给出了使用建议。
5.1。 活动结合本地服务,如果服务在同一个进程中活动时间,活动可以直接绑定到该服务。 这是一个相对简单而有效的方式来沟通。
5.2。 使用接收器也可以使用动态注册接收器的通信。 例如您的活动动态注册一个接收器和服务发送相应的事件出局。
5.3。 AIDL在不同的流程服务绑定到运行在不同的过程中,你需要使用进程间通信(IPC)的数据需要在不同进程之间发送服务。 为此,您需要创建一个AIDL文件看起来类似于Java接口,但与.aidl文件扩展名结尾,并只允许扩展其他AIDL文件。
如果您的服务应提供给其他应用程序,则需要此方法,否则你应该更喜欢本地服务。
5.4。 发送意图数据和捆绑到服务的服务从起始的Android组件接收数据,并可以使用该数据。
5.5。 处理程序和Messenger如果服务应该被传送回的活性可以通过其从活动接收意图数据接收类型信使的对象。 如果Messenger绑定到处理程序在活动的服务可以发送消息类型的对象的活性。
信使是parcelable,这意味着它可以被传递到另一个过程中,你可以使用这个对象发送消息给处理程序的活动。
信使还提供了方法getBinder(),它允许对信使传递到活性。 因此,该活动可以将消息发送到服务。
由于http://www.vogella.com/articles/AndroidServices/article.html