Диспетчер сигналов тревоги работает неправильно на версии Android выше 8

В своем приложении я использовал Alarm manager для планирования времени. Для этого я использовал Alarm Manager API.

  • Я использую метод setInExactRepeating() для повторения будильника, но он не срабатывает, когда мое устройство находится в режиме ожидания. Также иногда он задерживает срабатывание тревоги.
  • Для моего приложения важно активировать будильник в точное время в режиме повторения, а также в режиме ожидания.

Пожалуйста, помогите, как я могу решить эту проблему, я также узнал о планировщике заданий и диспетчере работ, но у них нет такой функции, как диспетчер будильника, чтобы установить будильник точно или повторить.

Спасибо

ты пробовал это? stackoverflow.com/questions/48638494/…

Sahitya Pasnoor 18.12.2020 09:01
0
1
134
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы, вероятно, не можете ничего сделать с повторением, потому что на более высоких версиях Android существует ограничение на повторение (я думаю, 15 минут) для повышения производительности и экономии заряда батареи, а диспетчер тревог на более высоких версиях Android не самый лучший.

Даже если вам удастся сделать это и создать свое приложение, оно, вероятно, будет убито приложениями контроллера производительности или даже самой ОС Android. и я не предлагаю тратить на это свое время из-за этого.

Было несколько трюков, чтобы обмануть ОС Android и запустить ваше приложение, но я думаю, что кодировать это будет очень грязно. лучше всего работает тот же WorkManager, как вы говорите

Но у диспетчера работ нет такой функции, как диспетчер аварийных сигналов, как я могу заменить . У вас есть идеи, пожалуйста, предложите @ErfanDP

Kaunain 18.12.2020 10:01

на самом деле, рабочий менеджер использует то же, что и диспетчер аварийных сигналов, и это похоже на класс-оболочку, но есть некоторые ограничения, которые не могут нарушить функцию диспетчера аварийных сигналов, которую вы хотите использовать?

ErfanDP 18.12.2020 10:11

Я хочу использовать функцию планирования. Позвольте мне сначала объяснить, в моем приложении есть такая функция, как расписание, пользователь может выбрать определенное время, и в это время будильник должен срабатывать с уведомлением, также он будет периодическим, и в диспетчере будильника я использую широковещательный приемник. так что не могли бы вы предложить, как я могу сделать то же самое с менеджером по работе @ErfanDP

Kaunain 18.12.2020 14:20

я думаю, это можно сделать с помощью менеджера работ medium.com/@pmaggi сначала взгляните на документ Android менеджера работ и познакомьтесь с менеджером работ, а затем перейдите по этой ссылке, которую я отправляю, у него есть 4 статьи, которые, я думаю, помогут вам

ErfanDP 20.12.2020 07:00

@ErfanDP Но вы не можете использовать WorkManager, чтобы (цитирую): «установить будильник точно или повторить». Планировщик Work Manager решит, может ли ваша работа выполняться «когда вы сказали, что хотите» или если другие факторы (батарея / режим ожидания / и т. д.) должны отложить вашу работу на более позднее время. Если WM не изменился за последние пару лет, так было всегда.

Martin Marconcini 21.12.2020 09:44

Другие вопросы по теме