BOOT_COMPLETED Receiver не срабатывает, если устройство не используется вскоре после запуска - PullRequest
0 голосов
/ 03 мая 2018

ОК, я тестирую свои приложения для Android на двух телефонах. Samsung Galaxy S6 и S4. Версия Android 7 на первом и 5 на последнем.

Проблема, которая у меня возникла, кажется, является исключительной для galaxy s4 под управлением Android версии 5. Моим приложениям нужно запускать некоторый код после загрузки системы, поэтому, очевидно, у них есть получатель boot_completed. На моем galaxy s6 он работает нормально, но на s4, если после загрузки экран выключен, приемник с завершенной загрузкой не запускается. Если я использую телефон вскоре после его загрузки, это нормально, но если я загружаю его и просто оставляю телефон на некоторое время выключенным перед использованием, приемник не запускается. В общем, кажется, что если телефон спит, он не запускает приемник с завершенной загрузкой, когда должен. Это не просто задержка до тех пор, пока я снова не включу экран, оно никогда не срабатывает.

Мне не повезло найти примеры этой проблемы и как ее исправить с помощью Google. Я был программистом в течение очень долгого времени, но я довольно неопытен с Android. Поэтому, если кто-то знает, в чем заключается проблема или идеи о том, как ее лучше всего решить, он будет очень признателен.

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

Я знаю, что есть функции для запуска кода при загрузке в Android 7 с заблокированным экраном при загрузке, locked_boot_completed или чем-то еще. Но странно, что я не сталкиваюсь с проблемой на своем устройстве Android 7, и я понимаю, что эта функция недоступна для Android 5, где я сталкиваюсь с этой проблемой. И если это просто тот случай, когда он не будет транслировать boot_completed с заблокированным экраном в более ранних версиях Android, мне интересно, если кто-нибудь знает способ обойти эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...