her*_*rsh 48 android geolocation locationmanager
LocationManager locationManager = (LocationManager)getApp().getSystemService(Context.LOCATION_SERVICE); //getApp() returns my Application object
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER , 1, 1, this);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1, 1, this);
Run Code Online (Sandbox Code Playgroud)
那是我用来听的代码.启用GPS后,一切正常.但是,如果我禁用GPS并依赖网络位置,它会给我带来陈旧的结果 - 在这种情况下,从两天前开始.我无法让它更新.调用getLastKnownLocation返回相同的陈旧结果.
谷歌地图更新很好,所以我知道这不是硬件/系统配置问题.
我用Google搜索过,发现一些有类似问题的人,但没有答案.我已经尝试将我的项目定位到API级别8(2.2)以及15(4.0.3).结果相同.我的手机正在运行ICS.
我还试图删除对GPS_PROVIDER的请求,以及在getAllProviders()中包含对所有内容的请求.同样的交易.
知道为什么NETWORK_PROVIDER没有更新?任何帮助将不胜感激.
(PS不,我通常不会使用"1,1"作为我的时间/距离参数;我只是在调试时更改了它.)
编辑:我忘了提到是的,isProviderEnabled()返回true.
Num*_*our 23
我终于找到了解决这个问题的方法(请参阅我的问题).
在我的S3 Galaxy Mini的情况下,有类似的症状(重新启动之前没有位置更新...),如上所述.当设备达到低功率状态时,大多数情况下的位置停止更新,但有时甚至在手机充满电时也会发生.显然这是一个问题LocationManager
.我设法LocationManager
通过使用新的Google Play服务API 来绕过位置(LocationClient
类).
这可能是位置更新仍在使用Google地图的原因,因为Google地图甚至在公开之前就使用了Google Play服务API.
我建议您按照 此链接显示如何使用Play Services API获取位置,而不是在LocationManager
遇到此问题时使用.
我正在使用Play服务运行位置更新,并且完全没有这样的问题 - 我随时都会定期收到定期更新.
请注意,这将要求用户必须在其设备上安装Google Play,因此Kindles等将不再适用.它还需要至少Android 2.2.
我目前怀疑这是由于未使用removeUpdates(listener)
应用程序关闭或活动 ondestroy 引起的。我已确保实施这一点并希望它能解决这个问题。我想不出其他什么了。
--编辑-- 不幸的是,这并没有解决它。
归档时间: |
|
查看次数: |
22084 次 |
最近记录: |