Открытие моего приложения после того, как пользователь включил местоположениеAndroid

Форум для тех, кто программирует под Android
Anonymous
Открытие моего приложения после того, как пользователь включил местоположение

Сообщение Anonymous »

Если местоположение отключено, я хочу попросить пользователя включить его. Для этого отображается диалоговое окно, и пользователь может открыть экран настроек устройства и включить определение местоположения. Но после этого мое приложение умерло. Нажатие кнопки «Назад» на устройстве приводит только к настройкам и, в конечном итоге, к домашней странице. Единственный способ — открыть приложение и снова начать собирать детали с нуля, а это плохой опыт.
Есть ли способ прослушать выбор пользователя и дает ли он согласие Разрешите, я продолжу процесс сбора данных? Вот часть, в которой запрашивается включение определения местоположения пользователя.
@Composable
private fun RequestEnableLocationDialog(onRequestPermissionResult: (Boolean) -> Unit) {
val context = LocalContext.current
val openSettingsLauncher =
rememberLauncherForActivityResult(
contract = ActivityResultContracts.StartActivityForResult(),
) {
onRequestPermissionResult(
locationEnabled(context),
)
}

AlertDialog(
onDismissRequest = { onRequestPermissionResult(false) },
title = { Text(text = "Enable Location") },
text = { Text(text = "You need to enable location...") },
confirmButton = {
TextButton(
onClick = {
openSettingsLauncher.launch(Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS))
},
) {
Text(text = "Open Settings")
}
},
dismissButton = {
TextButton(
onClick = { onRequestPermissionResult(false) },
) {
Text(text = "Cancel")
}
},
)
}

private fun locationEnabled(context: Context): Boolean {
val locationManager =
context.getSystemService(Context.LOCATION_SERVICE) as LocationManager
return LocationManagerCompat.isLocationEnabled(locationManager)
}


Подробнее здесь: https://stackoverflow.com/questions/781 ... d-location

Вернуться в «Android»