我有一个在后台运行的服务。基于某些条件,它必须启动一些活动。Activity必须发回响应。
我做了谷歌搜索,发现我们必须使用通知机制。但我不清楚如何将activity的响应发送回正在运行的服务。
服务也在收集传感器数据(加速计、gps)。因此,活动应该在单独的线程中启动,以便收集传感器数据不会受到影响。
请澄清。
发布于 2011-03-18 09:51:25
活动将在主UI线程中启动,而长期运行的服务应该在自己的线程中运行和管理,因为根据文档,服务也是在主线程中创建的。
基本上,最好的沟通方式是使用Intent。这允许发送者/接收者的松散组合(即,在您的情况下,活动/服务)。对于android来说,意图是一个很大的话题,但它是最基本的话题之一,我认为你应该在网上寻找关于它的教程。
发布于 2011-03-18 13:34:05
如果您的activity已打开,并在完成Activity的任务后返回结果,则可以使用startActivityForResult,然后返回结果。
通知的使用很简单,只需创建一个接口类,并在您的服务中实现该类。当您需要将数据发送回服务时,只需使用数据调用适当的方法即可。
https://stackoverflow.com/questions/5347159
复制相似问题