Библиотека маяков Android запускается после установки новой версии

У меня есть маяк kontakt.io Eddystone и я пытаюсь написать приложение для сканирования маяка. Я использую Android Beacon Library и фоновое сканирование.

Все об обнаружении маяка после уничтожения можно написать здесь: https://altbeacon.github.io/android-beacon-library/resume-after-terminate.html.

Есть ли способ запустить приложение сразу после установки новой версии приложения из магазина?

Приложение запускается автоматически после подключения устройства к зарядному устройству, но есть ли способ запустить приложение с использованием этой библиотеки сразу после установки?


person Michael Drdlíček    schedule 13.04.2016    source источник


Ответы (1)


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

  1. Android не позволяет выполнять какой-либо пользовательский код во время установки приложения, поскольку это необходимо для запуска сканирования на наличие маяков.

  2. На Android 6+ пользователю необходимо интерактивно запрашивать разрешение на доступ к местоположению пользователя, в противном случае фоновое сканирование на наличие маяков не разрешено.

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

Полное раскрытие информации: я ведущий разработчик проекта с открытым исходным кодом Android Beacon Library.

person davidgyoung    schedule 13.04.2016
comment
Спасибо за ответ. Я понимаю причины, по которым приложение должно быть запущено хотя бы один раз, прежде чем оно сможет сканировать маяки. Но если приложение уже установлено, имеет разрешения, и я устанавливаю только обычное обновление из игрового магазина. Есть ли способ запустить приложение сразу после обновления? @davidgyoung - person Michael Drdlíček; 14.04.2016
comment
Обновление приложения останавливает его работу. Вы можете перезапустить его, зарегистрировав широковещательный приемник, указав в манифесте следующее: <action android:name="android.intent.action.PACKAGE_REPLACED" /> - person davidgyoung; 14.04.2016