Я хочу определить, когда пользователь изначально отказывает в разрешениях при входе экран и обращайтесь с ним соответствующим образом. Вот упрощенная версия моей текущей реализации:
Код: Выделить всё
`private val requestPermissionActivityContract =
PermissionController.createRequestPermissionResultContract()
private var disconnectHealthConnectBottomSheet: DisconnectHealthConnectBottomSheet? = null
val requestPermissions =
registerForActivityResult(requestPermissionActivityContract) { granted ->
mViewModel.checkHealthConnectPermissions(grantedPermissions = granted)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
requestPermissions.launch(mViewModel.permissions)
}`
После того, как пользователь дважды отказывает в разрешениях, requestPermissions.launch(mViewModel.permissions) не вызывает никакого ответа. Мне нужен способ:
- Определить, отказал ли пользователю в разрешениях, когда он возвращается к экрану.
< /li>
Обработайте этот сценарий, предложив пользователю включить разрешения вручную, если это необходимо.
Я реализовал checkHealthConnectPermissions в моей ViewModel, чтобы проверить предоставленные разрешения. Однако это не касается случаев, когда пользователь ранее отклонил разрешения.
Подробнее здесь: https://stackoverflow.com/questions/792 ... jecting-pe
Мобильная версия