我在后台运行服务。根据某些条件,它必须开始一些活动。活动必须发回回复。
我进行了谷歌搜索,发现我们必须使用通知机制。但我不清楚如何将响应从活动发送回正在运行的服务。
服务也在收集传感器数据(acclerometer,gps)。因此,活动应该在单独的线程中启动,以便收集传感器数据不受影响。
请澄清。
答案 0 :(得分:0)
活动将在主UI线程中启动,相反,您的长期运行的服务应该运行并管理自己的线程,因为根据文档,服务也在主线程中创建。
基本上,最好的沟通方式是使用Intent。这允许松散的发送者/接收者(即您的情况下的活动/服务)。 Intent是一个关于android的大话题,但它是最基本的一个,我认为你应该在网上寻找关于它的教程。
答案 1 :(得分:0)
如果您的活动已打开并在完成活动任务后返回结果,那么您可以使用startActivityForResult然后返回结果。
使用通知很简单,只需创建一个接口类,并在您的服务中实现该类。当您需要将数据发送回服务时,您可以使用数据调用适当的方法。