2014-01-29 26 views
0

我需要不同的应用程序。第一个应用程序有后台服务第二个应用程序具有textview活动。 问题:如何使用第一个应用程序的服务检测第二个应用程序的启动?以及如何从服务中更改textview的文本?Android:如何更改另一个应用程序的textview

谢谢。

+0

应用程序通过windowtokens束缚,这些不能从其他应用程序使用,解决方法是在后台服务抛出一个意图,并抓住它通过一个BroadcastReceiver第二个应用程序,通过文本,你想改变通过捆绑的意图 – Tobrun

回答

0

使用broadcastreceiver来更新你的另一个应用程序。
如果您使用服务,那么它不会更新您的其他应用程序的GUI。广播接收器是您想要的最佳做法。

1

您无法在其他应用程序上检测到启动,也无法直接更改其他应用程序的TextView。

但是你可以通过合作来实现这一点。第二个应用程序可以通知服务启动,服务可以要求第一个活动更改其TextView。

这可以通过意图来实现。第一个应用程序中的Activity可以在服务启动时启动,并且服务可以发送广播或直接发送意图给活动以请求它修改其TextView。

如果您想仅在运行时通知活动,并且不想像前面的示例那样将其唤醒,那么我建议您阅读this link关于绑定服务的内容。它为您提供了一个关于如何绑定到服务的完整示例,并且还描述了如何将请求发回活动。

请注意,此示例未显示服务如何响应客户端 。如果你想让服务响应,那么你还需要在客户端创建一个Messenger。然后,当客户端收到onServiceConnected()回调 时,它会向send() 方法的replyTo参数中的 包含客户端的Messenger的服务发送消息。

相关问题