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