в моем приложении у меня есть возможность открыть настройки и разрешить местоположение. Как я могу узнать, что пользователь включил определение местоположения после того, как я перешел на экран настроек? Вот как можно начать настройку.
if(!gps_enabled && !network_enabled) {
// notify user
new AlertDialog.Builder(this)
.setMessage(R.string.gps_network_not_enabled)
.setPositiveButton(R.string.open_location_settings, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface paramDialogInterface, int paramInt) {
startActivityForResult(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS), isGpsTurnedOnResult );
}
}).setNegativeButton(R.string.Cancel,null)
.show();
}
Вот как я пытаюсь получить результат:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
Когда я проверяю data
, я вижу, что это значение null. Есть ли способ узнать, что пользователь включил местоположение? Конечно, я могу проверить это с помощью LocationManager
, но это не то решение, которое мне нужно, если только оно не единственно возможное.