在我的服务中,我每 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 的情况下完美地跟踪位置,所以这不可能是设备问题。