ACL_CONNECTED / ACL_DISCONNECTED не всегда получается - PullRequest
0 голосов
/ 29 мая 2018

Я занимаюсь разработкой приложения, в котором мне нужно прослушивать события подключения / отключения Bluetooth.

Трансляции принимаются в большинстве случаев, но не всегда.

Мои журналытакже поддерживают это.

В своих журналах я вижу, что иногда я получаю 2 или 3 события ACL_CONNECTED подряд (для одного и того же устройства!) без промежуточного ACL_DISCONNECTED и наоборот.

Вот декларация в манифесте:

  <receiver android:name=".receivers.BluetoothBroadcastReceiver" >
        <intent-filter android:priority="999">
            <action android:name="android.bluetooth.device.action.ACL_DISCONNECTED"/>
            <action android:name="android.bluetooth.device.action.ACL_CONNECTED"/>
        </intent-filter>
    </receiver>

Кто-нибудь знаком с этой проблемой?

Примечание (20.06.18):

Большинство моих тестов проводятся на устройствах Samsung.

У Samsung есть собственный механизм оптимизации батареи, как видно из этих сообщений:

Функция Samsung «Оптимизация приложений» убивает фоновые приложения через 3 дня

Как мне избежать того, чтобы мое приложение входило в оптимизацию на устройствах Samsung

Кажется, что проблема как-то связана с этой вещью Samsung.

Согласно моим журналам,похоже, что проблема непоследовательных трансляций, действительно начинает появляться через 3 дня

Спасибо!

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