1

我正在开发一个 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);
4

0 回答 0