我有一个应用程序,需要经常更新用户的位置,并且位置更改与应用程序中的许多活动相关。因此,我创建了一个LocationManager类来管理LocationClient对象,侦听更新,并广播位置更改,以便任何Activity都可以根据需要处理更新。
但是,当我更改活动时,我遇到了更新似乎停止的问题。我注意到在更改活动时出现以下消息:
09-26 11:19:14.854:D / LocationManagerService(735):请求由应用程序停止的位置 09-26 11:19:14.854:I / LocationManagerService(735):删除gps(pid 1332),禁用
在那之后,似乎我的LocationClient停止获得任何进一步的更新。我可以拨打removeLocationUpdates()
然后再requestLocationUpdates()
重新启动请求,但我的原始请求不再有效。
我唯一的想法是因为主Activity使用MapFragment(确切地说是SupportMapFragment)来显示用户的位置,当我切换活动时,MapFragment可能会调用暂停位置更新。但这不应该影响我的要求。
有人有任何见解吗?