Можно ли снова разрешить услуги определения местоположения для приложения (или, по крайней мере, показать диалог), если пользователь ранее выбрал параметр "Никогда"?
Я не могу найти какой-либо способ в коде, чтобы показать его снова, так как я всегда получаю LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE в обратном вызове onResult (..):
@Override
public void onResult(LocationSettingsResult locationSettingsResult) {
final Status status = locationSettingsResult.getStatus();
switch (status.getStatusCode()) {
case LocationSettingsStatusCodes.SUCCESS:
Log.i(TAG, "All location settings are satisfied.");
// startLocationUpdates();
break;
case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
Log.i(TAG, "Location settings are not satisfied. Show the user a dialog to" +
"upgrade location settings ");
try {
// Show the dialog by calling startResolutionForResult(), and check the result
// in onActivityResult().
status.startResolutionForResult(activity, REQUEST_CHECK_SETTINGS);
} catch (IntentSender.SendIntentException e) {
Log.i(TAG, "PendingIntent unable to execute request.");
}
break;
case LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE:
Log.i(TAG, "Location settings are inadequate, and cannot be fixed here. Dialog " +
"not created.");
break;
}
}
Единственное решение, которое я нашел, - это переустановить приложение или очистить данные.