gpt4 book ai didi

android - NETWORK_PROVIDER 未提供更新的位置

转载 作者:IT王子 更新时间:2023-10-28 23:46:13 27 4
gpt4 key购买 nike

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);

这就是我用来收听的代码。启用 GPS 后,一切正常。但是,如果我禁用 GPS 并依赖网络位置,它会给我带来陈旧的结果——在这种情况下,是两天前的结果。我无法让它更新。调用 getLastKnownLocation 会返回相同的陈旧结果。

Google map 更新正常,所以我知道这不是硬件/系统配置问题。

我在 Google 上四处搜索,发现一些人有类似的问题,但没有答案。我尝试将我的项目定位到 API 级别 8 (2.2) 和 15 (4.0.3)。结果相同。我的手机正在运行 ICS。

我还尝试删除对 GPS_PROVIDER 的请求,以及在 getAllProviders() 中包含对所有内容的请求。同样的交易。

知道为什么 NETWORK_PROVIDER 没有更新吗?任何帮助将不胜感激。

(附注:不,我通常不使用“1, 1”作为时间/距离参数;我只是在调试时更改了它。)

编辑:我忘了说是的,isProviderEnabled() 返回 true。

最佳答案

我终于找到了解决这个问题的方法(见 my question here)。

在我的 S3 Galaxy Mini 上,有类似的症状(在重新启动之前没有位置更新......),就像上面描述的那样。大多数情况下,当设备达到低电量条件时,位置信息就会停止更新,但有时即使手机充满电,也会发生这种情况。显然这是 LocationManager 中某处的问题。我设法通过使用新的 Google Play 服务 API 来绕过 LocationManager 位置(LocationClient 类)。

这可能是位置更新仍然适用于 Google map 的原因,因为 Google map 甚至在公开之前就使用了 Google Play Services API。

我建议你关注 this link如果遇到此问题,它显示了如何使用 Play Services API 获取位置,而不是使用 LocationManager

我正在使用 Play Services 运行位置更新,并且绝对没有这样的问题 - 我随时都会收到定期的位置更新。

请注意,这将要求用户必须在其设备上安装 Google Play,因此 Kindle 等设备将无法使用。它还需要至少 Android 2.2。

关于android - NETWORK_PROVIDER 未提供更新的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13594932/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com