0
只要设备启动,我就有一个在后台运行的位置服务。我通过调用LocationManager requestLocationUpdate方法请求网络和gps提供程序更新,但是,当通过启用或禁用位置服务更改了“我的位置”设置页面时,onProviderEnabled或ProviderDisabled从不会被调用。所以我想知道每次用户更改位置设置后,我的后台服务如何得到通知?我可以在缓存广播消息的接收器模式下执行此操作吗?android:当用户启用或禁用“我的位置”设置位置服务时如何发现问题
“只要设备启动,我就有一个位置服务在后台运行。” - 请不要。请使用'requestPositionUpdates()'的PendingIntent版本,或者使用`AlarmManager`和我的[`LocationPoller`](https://github.com/commonsguy/cwac-locpoll)或类似的东西轮询。 – CommonsWare 2011-01-26 22:22:27
说实话,在后台不断运行的位置服务永远不是一个好主意。全球定位系统和数据是2种服务消耗最多的电池,而这些不断的轮询会使设备的耗电量比平时快大约4或5倍。如果您要实施此功能,您应定期轮询位置更新。 – 2011-01-28 20:52:15