使用AIDL的Android服务活动交互

时间:2013-09-30 18:10:33

标签: android android-activity android-service aidl

我正在尝试使用AIDL创建2个相互交互的应用程序。

申请1:将是一项服务。

应用程序2:将是活动(带按钮),它将显示将由应用程序1服务提取的一些数据。

现在开始这个交互,我知道我们可以在两个应用程序中创建一个AIDL文件,当用户按下应用程序2中的按钮时,我们可以从应用程序中涉及服务功能。也就是说,应用程序2请求当前时间,然后应用程序1(服务)将获取当前时间并将其返回给应用程序2.

我怀疑是我想要反过来互动。我希望在某个特定数字及时(或其他某些事件)发生时通知服务活动。我不知道如何继续这种沟通方式,即从服务到活动。

一些指示将非常有用。

2 个答案:

答案 0 :(得分:0)

您知道可以从Activity向服务发送消息,参考Bound Service 按照上面的教程,你应该考虑使用Intent中的Messenger类从Activity到Service发送Handler。 所以现在服务和活动可以互相发送消息,执行相应的处理程序

答案 1 :(得分:0)

在Activity中使用Broadcast接收器并让Service广播消息(与Activity中的Broadcast接收器使用的Intent相同)。这些从服务广播的消息将由活动中的广播接收者接收。