Я занимаюсь разработкой приложения, в котором мне нужно прослушивать события подключения / отключения 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 дня
Спасибо!