在我的服务中,我每隔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)中发生。 (正确设定) 在更新之前,以及在其他智能手机上,一切正常:
我试过
到处都是我的代码工作正常,但在S3 JB我无法理解如何解决。 另一个奇怪的事情是gmaps完美地跟踪位置也没有gps,因此它不能成为设备问题。
答案 0 :(得分:0)
这不是一个真正的答案,但它可能会有所帮助......
根据这篇文章:Has NETWORK_PROVIDER behavior changed in Android 4.1.1?
我和他在Galaxy Nexus上有类似的问题 - 重新启动解决了这个问题。