Код: Выделить всё
val notificationsPermissionState: PermissionState = rememberPermissionState(
android.Manifest.permission.POST_NOTIFICATIONS
)
С ограничениями Android 14 (ссылка) ), нам также нужен USE_FULL_SCREEN_INTENT для экрана вызова, когда экран устройства заблокирован. В предыдущих версиях Android это предоставлялось автоматически. В Android 14 оно по-прежнему есть (для нашего приложения), но пользователь может его отозвать.
Теперь проблема: когда мы проверяем это разрешение, USE_FULL_SCREEN_INTENT, то же самое в приведенном выше коде он всегда возвращает GRANTED, даже если пользователь отменил его перед открытием приложения или во время его использования. Он даже возвращает GRANTED, если разрешения на уведомления отозваны. То же самое не происходит с POST_NOTIFICATIONS. Если пользователь это сделал, отображается ОТКЛОНЕНО. Временное решение — использовать NotificationManager.canUseFullScreenIntent(), который фактически сообщает о правильном состоянии разрешения. Итак, что происходит? Это ошибка в Android 14? Мы бы предпочли проверять так же, как и другие разрешения, а не добавлять новую систему проверки только для одного крайнего случая.
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/787 ... android-14