我正在开发一个 android 应用程序来跟踪用户的位置。问题是 requestLocationUpdates() 已被调用但对 LocationListener 没有响应。
ps 调用 requestLocationUpdates() 后,GPS 指示器显示在顶部状态栏中。
ps 使用android 4.0 或之前的版本没有这个问题。我的 Galaxy nexus 更新到 4.1 后,出现了这个问题。这与操作系统问题有关吗?
有人知道这个吗?非常感谢!
清单:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
位置管理器:
LocationManager lm = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE);
位置监听器:
private final LocationListener locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
System.out.println("onLocationChanged");
}
@Override
public void onProviderDisabled(String provider) {
System.out.println("onProviderDisabled");
}
@Override
public void onProviderEnabled(String provider) {
System.out.println("onProviderEnabled");
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
System.out.println("onStatusChanged");
}
};
它是如何开始的:
Criteria c = new Criteria();
c.setAccuracy(Criteria.ACCURACY_FINE);
final String PROVIDER = lm.getBestProvider(c, true);
lm.requestLocationUpdates(PROVIDER, 600000, 0, locationListener);