我阅读了大多数关于 SO 的问题和答案,我必须说,就我而言,我仍然不知道该走哪条路。有几种方法可以使用,但我无法确定哪一种最适合我的情况。
我有什么
我有一个从我的应用程序开始的服务。它检查用户的当前位置并使用读取的位置调用 Web 服务。这每 x 米发生一次。
我想得到什么
- 使用地图进行活动并显示来自服务的当前位置读数。这意味着我的 Activity 需要在读取的每个位置上得到通知。请记住,这仅在用户启动活动时使用,因此我认为从服务广播每个位置不是一个好主意。
- 我可以向服务询问其上次读取位置的活动。
- 正如我之前提到的,该服务读取位置并需要每隔几秒钟将其发送到 Web 服务器。最好的方法是什么?在服务中为每个 Web 服务调用创建一个新的 Thread() ?使用异步任务?有时我可能会收到一些额外的值作为响应,在这种情况下我需要从 web 服务启动一个活动。
说了这么多,你会推荐我用什么?这会是一个好方法吗:示例:使用消息传递在 Activity 和 Service 之间进行通信?
LE:我已经从 IntentService 切换到简单的 Service + 线程来向 Web 服务发送数据。我的 IntentService 实现启动并迅速销毁。大概是我做错了什么......