重新启用GPS时,onLocationChanged无法正常工作(android)

时间:2019-06-16 07:39:01

标签: android gps

requestLocationUpdates在onCreate中,并且gps被禁用。 onProviderEnabled被调用,并且日志显示gps提供程序已禁用。

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);

我从Location得到了onLocationChanged,它表明提供商是网络提供商。现在启用gps并禁用gps。然后onLocationChanged不再被呼叫。

这是我的听众:

LocationListener locationListener = new LocationListener() {
    @Override
    public void onStatusChanged(String provider, int status, Bundle arg2) {
        Log.d(TAG, "onStatusChanged: " + provider + ".." + status);
    }

    @Override
    public void onProviderEnabled(String provider) {
        Log.d(TAG, "onProviderEnabled: " + provider);
    }

    @Override
    public void onProviderDisabled(String provider) {
        Log.d(TAG, "onProviderDisabled: " + provider);
    }

    @Override
    public void onLocationChanged(Location location) {
        updateCurrentLocation(location);
    }
};

更新:

如果我只用requestLocationUpdates NETWORK_PROVIDER,onLocationChanged可以正常工作。

如何正确获取位置?救命!

android:8.0

0 个答案:

没有答案