Android 在JellyBean版本之后,不会调用onLocationChanged

Android 在JellyBean版本之后,不会调用onLocationChanged,android,location,Android,Location,我下面的代码在除安卓4.1和安卓4.2版本之外的所有设备上都能工作。我已经尝试了很多东西并搜索了相关信息。在三星论坛上,它也说它不起作用。看到这个了吗 如果有人知道解决方案,那么请让我知道。位置更新频率的LocationManager行为与Android 4.1中更改的minTime和minDistance参数的关系 发件人: 在Jellybean之前,minTime参数只是一个提示,一些位置提供程序实现忽略了它。从Jellybean开始,Android兼容设备必须同时遵守minTime和min

我下面的代码在除安卓4.1和安卓4.2版本之外的所有设备上都能工作。我已经尝试了很多东西并搜索了相关信息。在三星论坛上,它也说它不起作用。看到这个了吗


如果有人知道解决方案,那么请让我知道。

位置更新频率的LocationManager行为与Android 4.1中更改的minTime和minDistance参数的关系

发件人:

在Jellybean之前,minTime参数只是一个提示,一些位置提供程序实现忽略了它。从Jellybean开始,Android兼容设备必须同时遵守minTime和minDistance参数

我怀疑您的minDistance=100可能导致4.1及以上版本的更新不足,而Android确实触发了4.0及以下版本的更新(可能不正确)。尝试将这两个值都更改为=0,看看会发生什么-您应该可以相当频繁地看到更新:

mLocationManager.requestLocationUpdates(
            LocationManager.NETWORK_PROVIDER, 0, 0, this);
您将不得不使用这些参数,直到您获得满足应用程序位置更新频率要求的东西,同时节省电池寿命,并且在您想要支持的所有Android版本上具有一致的行为

鉴于上述限制,您可能需要考虑切换到新的融合位置提供程序:

…更具体地说,优先级\u平衡\u功率\u精度优先级:

“不工作”是对你症状的无用描述。@Commonware我编辑了这个问题。
mLocationManager.requestLocationUpdates(
            LocationManager.NETWORK_PROVIDER, 0, 0, this);