【发布时间】:2012-06-21 12:04:22
【问题描述】:
我阅读了大部分关于 SO 的问题和答案,我必须说,就我而言,我仍然不知道该走哪条路。有几种方法可供选择,但我无法确定哪一种最适合我的情况。
我有什么
我有一个从我的应用程序启动的服务。它检查用户的当前位置并使用读取的位置调用 Web 服务。每 x 米发生一次。
我想要得到的东西
- 使用地图进行活动并显示来自服务的当前位置读数。这意味着我的 Activity 需要在读取的每个位置上得到通知。请记住,这只会在用户启动活动时使用,因此我认为从服务广播每个位置并不是一个好主意。
- 我可以向服务询问其上次读取位置的活动。
- 正如我之前提到的,服务读取位置并需要每隔几秒将其发送到 Web 服务器。最好的方法是什么?在服务中为每个 Web 服务调用创建一个新的 Thread() ?使用异步任务?有时我可能会收到一些额外的值作为响应,在这种情况下我需要从 Web 服务启动一个 Activity。
话虽如此,您会推荐我使用什么?这是一个好方法吗:Example: Communication between Activity and Service using Messaging?
LE:我已从 IntentService 切换到简单的 Service + 线程,用于将数据发送到 Web 服务。我的 IntentService 实现启动并迅速销毁。可能是我做错了什么......
【问题讨论】:
-
在Service中接收到新数据时,如何使用接口将数据从Service发送到Activity?
标签: android service broadcastreceiver intentservice