Поток пользователей: Щелчок по кнопке, перенаправляется в MapActivity, где отображаются карты google. Дано местоположение, есть кнопка для маршрута, использующего текущее местоположение в данном месте. Когда службы определения местоположения отключены, пользователю предлагается включить его.Обновление активности после изменения пользователем настроек местоположения
private void goToLocationSettings(){
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(intent, 1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 1) {
switch (requestCode) {
case 1: Log.e("test", "onActivityResult");
break;
}
}
}
Когда пользователь возвращает функцию, она должна быть в состоянии выполнить. Но программа снова включит настройки. Журнал никогда не отображается.
Если я немного подожду после включения служб определения местоположения на своем устройстве, у меня нет вопроса включить его, но сообщение журнала все еще не отображается.
Я понятия не имею, что я делаю неправильно.
Хорошо, что интересно, если я запустил его с помощью отладчика, он появится resultCode = 0, поэтому он не отобразит журнал, если я разместил там журнал. Любая идея, что может быть причиной этого? –
Вы не можете получить результат из активности настроек местоположения, поэтому способ сделать это - просто проверить, включены ли службы определения местоположения при возврате пользователя. –
В этом случае 'resultCode' всегда будет 0, так как пользователь выходит из действия« Настройки »с помощью кнопки« Назад », поэтому он как бы отменил запрос. –