网络LocationListener在galaxy sIII jb 4.1

时间:2012-11-30 15:31:19

标签: android networking location

在我的服务中,我每隔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)中发生。 (正确设定) 在更新之前,以及在其他智能手机上,一切正常:

我试过

  • Galaxy Nexus 4.2
  • Galaxy Nexus 4.1
  • Nexus S 4.1
  • Galaxy S
  • Galaxy Note

到处都是我的代码工作正常,但在S3 JB我无法理解如何解决。 另一个奇怪的事情是gmaps完美地跟踪位置也没有gps,因此它不能成为设备问题。

1 个答案:

答案 0 :(得分:0)

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

根据这篇文章:Has NETWORK_PROVIDER behavior changed in Android 4.1.1?

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