https://developer.android.com/about/ver ... changes-12? hl=fr#exact-alarm-permission
А по поводу этого (https://developer.android.com/develop/b ... dule?hl=fr #set-exact-alarm) существует 3 метода, использующих точные сигналы тревоги:
- setExact()
- setExactAndAllowWhileIdle()
- setAlarmClock()
Включен моя версия приложения 1.12, SCHEDULE_EXACT_ALARM, не проверена в манифесте, но мое настоящее устройство Android 12 могло использовать setAlarmClock. Я в этом уверен, потому что добавил логи этой операции. Более того, я проверил через Git, и файл манифеста не содержит SCHEDULE_EXACT_ALARM для версии 1.12.
Кроме того, когда я начал работать над своей отладочной версией 1.13, из Visual Studio запустился VS2022. для выдачи исключения при срабатывании setAlarmClock только на моем эмуляторе Android 12 (api_31) (тогда как я также использую эмулятор Android 14 - api 34 - и никаких исключений не происходит).
Java.Lang.SecurityException: «Вызывающий объект com.o4d.dringcat должен удерживать android.permission.SCHEDULE_EXACT_ALARM, чтобы установить точные сигналы тревоги».
Это было довольно странно, но я добавил это в Манифест.
Поэтому у меня так много вопросов:
- Как возможно, что мое устройство Android 12 может активировать в моей версии приложения 1.12 (без SCHEDULE_EXACT_ALARM) метод AlarmManager.setAlarmClock (и добиться успеха)?
- Почему VS2022 начал меня предупреждать только недавно? (я почти уверен, что раньше мне удавалось запускать будильник без каких-либо исключений: я тестирую только на эмуляторе Android 14 и 12)
- Почему в документации Android указано, что SCHEDULE_EXACT_ALARM необходим для Android 12 И после, тогда как мой VS2022 не выдает исключение при тестировании на эмуляторе Android 14?
- И, наконец, почему мой эмулятор Android 14 может срабатывать точно сигнализация без этого разрешения? (Я проверил, что мой эмулятор и «Параметры разработчика» отключены, поэтому обойти это поведение невозможно). К сожалению, я не могу протестировать настоящее устройство Android 14.
Заранее благодарю за помощь: Я бы очень признателен за немного света, чтобы понять это поведение.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -vs2022-on
Мобильная версия