Проблема с разрешениями Health Connect: обнаружение отказа пользователя после двойного отклонения запроса на разрешениеAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Проблема с разрешениями Health Connect: обнаружение отказа пользователя после двойного отклонения запроса на разрешение

Сообщение Anonymous »

Я реализую Health Connect в своем приложении для Android и использую PermissionController.createRequestPermissionResultContract() для запроса разрешений. Запрос разрешений работает нормально, когда пользователь предоставляет доступ. Однако если пользователь дважды отказывает в разрешениях, вызов requestPermissions.launch(mViewModel.permissions) больше не работает.
Я хочу определить, когда пользователь изначально отказывает в разрешениях при входе экран и обращайтесь с ним соответствующим образом. Вот упрощенная версия моей текущей реализации:

Код: Выделить всё

 `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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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