0

在我的服务中,我每 X 分钟跟踪一次我的位置。我尝试

LocationManager lm=(LocationManager)getApplicationContext().getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);

criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);        
String provider=lm.getBestProvider( criteria, true );
if (provider!=null){

    lm.requestLocationUpdates(provider,5000,1,locationListenerNetwork);
}

使用网络位置,如果它不可用,我尝试使用 gps 位置。

问题是,当提供者可用时,我尝试询问一个位置

lm.requestLocationUpdates(provider,5000,0,locationListenerNetwork);

其中 LocationListenerNetwork 是我的 LocationListener,但什么也没发生,我的

onLocationChanged(Location location)

LocationListenerNetwork 内部永远不会被调用

如果我使用 GPS(具有 ACCESS_FINE_LOCATION 权限) onlocationchanged 被调用并且一切正常。

这只发生在 Galaxy S3 jb (4.1) 中。(正确设置)在更新之前,在其他智能手机上,一切正常:

我试穿了

  • 银河 Nexus 4.2
  • 银河 Nexus 4.1
  • 连结 S 4.1
  • 银河小号
  • Galaxy Note

我的代码在任何地方都可以正常工作,但在 S3 JB 中我无法理解如何解决。另一个奇怪的事情是,gmaps 也可以在没有 gps 的情况下完美地跟踪位置,所以这不可能是设备问题。

4

1 回答 1

0

这不是一个真正的答案,但它可能会有所帮助....

根据这篇文章:Android 4.1.1 中的 NETWORK_PROVIDER 行为是否发生了变化?

我和他在 Galaxy Nexus 上遇到了类似的问题 - 重新启动解决了这个问题。

于 2012-12-06T08:33:09.207 回答