android locationManager没有在LocationListener中回调onLocationChanged

时间:2013-01-13 17:41:59

标签: android locationmanager

我正在开发一款Android应用来跟踪用户的位置。问题是requestLocationUpdates()已被调用,但没有响应LocationListener。

P.S。在requestLocationUpdates()调用后,GPS指示器显示在顶部状态栏中。

P.S。使用Android 4.0或之前没有这样的问题。在我的Galaxy nexus更新到4.1之后,出现了这个问题。这与操作系统问题有关吗?

任何人都有这个想法吗?非常感谢!

Manifest:

<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:

LocationManager lm = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE);

locationListener:

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);

0 个答案:

没有答案