Почему исключение SCHEDULE_EXACT_ALARM запускается для setAlarmClock из VS2022 ТОЛЬКО на эмуляторе Android 12?C#

Место общения программистов C#
Ответить
Anonymous
 Почему исключение SCHEDULE_EXACT_ALARM запускается для setAlarmClock из VS2022 ТОЛЬКО на эмуляторе Android 12?

Сообщение Anonymous »

Что касается этой документации, Android 12 не должен иметь возможности запускать «Точный сигнал тревоги» без разрешения «SCHEDULE_EXACT_ALARM»:
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.
Что касается цифр 2 и 3, я полагаю, это может быть связано с обновлением Android SDK/инструментов, Visual Studio или, может быть, пакеты MAUI Nugets? Или, может быть, их растопить?
Заранее благодарю за помощь: Я бы очень признателен за немного света, чтобы понять это поведение.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -vs2022-on
Ответить

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

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

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

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

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