我正在寻找一些应用程序设计建议。如何在活动暂停时接收和处理位置更改
我有一个应用程序连接到Google定位服务并跟踪它接收到的位置坐标。这些在UI上显示为路径。
当屏幕超时并变空白时,当然,这个Activity
将按照正常的活动生命周期关闭。
但是,我仍然要记录位置服务中每个onLocationChanged
事件回来的坐标,但当然,Activity
已暂停,因此它不能这样做。
我并不特别想要防止屏幕在清单中消隐(因此Activity
永远不会暂停)。虽然我相信它仍然会暂停比如说,如果一个电话接收等
我的解决办法是在Activity
暂停事件之一(无论是,onStop
或onSaveInstanceState
)启动一个IntentService
接收位置更新,然后当Activity
重新启动时,从服务收集数据并关闭服务。
这是实现这一目标的有效且正确的方式,还是存在一些我不知道的Android黑色艺术?如果是这样,是IntentService
正确的方式去(或应该使用Service
)?
你介意解释为什么这样更好吗?这不就是一个由调度程序启动的“服务”,而不是实际需要的时间(即当我的应用程序暂停时)? – SimonH