android:在后台和活动中运行的服务之间的通信

时间:2011-03-18 01:40:19

标签: android

我在后台运行服务。根据某些条件,它必须开始一些活动。活动必须发回回复。

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

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

请澄清。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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