2011-03-18 89 views
0

我有一个服务在后台运行。基于某些条件,它必须开始一些活动。活动必须发送回应。android:在后台运行服务和活动之间的通信

我没有谷歌搜索,发现我们必须使用通知机制。但我不清楚如何将响应从活动发回服务运行。

此服务还收集传感器数据(acclerometer,gps)。所以应该在单独的线程中启动活动,以便收集传感器数据不受影响。

请说明。

回答

0

活动将在主UI线程中启动,相反,您的长时间运行的服务应该运行并管理自己的线程,因为根据文档,服务也在主线程中创建。

基本上最好的沟通方式是使用Intent。这允许松散的发送者/接收者(即你的情况下的活动/服务)。意图是一个关于android的大话题,但它是最基本的一个,我认为你应该在网上寻找关于它的教程。

0

如果您的活动已打开并在完成活动任务后返回结果,则可以使用startActivityForResult并返回结果。

使用通知很简单,只需创建一个接口类,然后在您的服务中实现该类。当您需要将数据发送回服务时,您可以使用数据调用适当的方法。