Ble Beacon Android Oreo и P не выходят из режима ожидания - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть приложение, которое использует Bluetooth-маяки.Когда приложение находится в режиме ожидания, уведомления о близости от Bluetooth-маяков не просыпаются.Только когда я разблокирую телефон, уведомление доставляется.Эта проблема та же для переднего плана или приложения, которое было убито.

1 Ответ

0 голосов
/ 17 декабря 2018

Начиная с Android 6.0, Режим ожидания блокирует любые обратные вызовы сканирования Bluetooth или другие события, включая обнаружение маяков. Я обсуждал эту проблему с инженерами Android Bluetooth во время сеанса на Google I / O 2015. Их позиция былаэто потому, что обнаруженное движение выйдет из режима ожидания, это не проблема, так как телефон, как правило, не может обнаружить новые маяки Bluetooth, когда он неподвижен и, следовательно, предположительно, в том же месте.

Хотя это верно для большинства случаев использования, есть несколько исключений: (1) В поезде или другом транспортном средстве в одном направлении по прямому пути, акселерометр не обнаруживает движение, и телефон можетидите в Дозу, несмотря на то, что находитесь в движении и потенциально видите новые маяки.(2) В некоторых случаях реклама на радиобуях строится так, чтобы быть динамичной, поэтому они появляются и исчезают в одном и том же случае.В обеих этих ситуациях устройства Android просто не могут обнаружить новые рекламные сигналы маяка, если они находятся в режиме Doze.

Это прискорбное ограничение, которое вы должны просто разработать вокруг.

РЕДАКТИРОВАТЬ: Начиная с Android 7 существует два типа режима Doze, тяжелый и легкий.Режим легкого сна включается, когда экран выключен, но телефон не неподвижен.Режим тяжелой дозы включается, когда экран выключен, и устройство некоторое время не двигается.В режиме легкой дозы обнаружение маяка осуществляется нормально.В режиме тяжелой дозы они не должны быть в соответствии с Google.Тем не менее, на некоторых устройствах они делают.Я вижу их в режиме тяжелой дозы на Samsung Galaxy S8 с Android 8.0 с запущенным сервисом переднего плана.

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