Bluetooth продолжает включаться [дубликат]

Я видел эту проблему на Nexus 4 и Nexus 5. Bluetooth неожиданно включается. Его можно отключить, но он вернется через минуту или около того.

Погуглив, кажется, что это может быть связано с некорректным поведением приложения, но, похоже, нет хорошего решения, чтобы узнать, какое приложение.

Есть ли способ узнать, что отвечает за повторную активацию Bluetooth все время?


Если это имеет какое-либо значение, я записал часть вывода adb после отключения Bluetooth.

При отключении:

D/BluetoothManagerService(  578): disable(): mBluetooth = android.bluetooth.IBluetooth$Stub$Proxy@42d29fa0 mBinding = false
D/BluetoothManagerService(  578): Message: 2
D/BluetoothManagerService(  578): Sending off request.
D/BluetoothAdapterState(23958): CURRENT_STATE=ON, MESSAGE = USER_TURN_OFF
D/BluetoothAdapterProperties(23958): Setting state to 13
I/BluetoothAdapterState(23958): Bluetooth adapter state changed: 12-> 13
D/BluetoothAdapterService(23958): Broadcasting updateAdapterState() to 1 receivers.
D/BluetoothAdapterProperties(23958): onBluetoothDisable()
I/BluetoothAdapterState(23958): Entering PendingCommandState State: isTurningOn()=false, isTurningOff()=true
D/BluetoothManagerService(  578): Message: 60
D/BluetoothManagerService(  578): MESSAGE_BLUETOOTH_STATE_CHANGE: prevState = 12, newState=13
D/BluetoothManagerService(  578): Bluetooth State Change Intent: 12 -> 13
D/BluetoothMapService(23958): onReceive
D/BluetoothMapService(23958): STATE_TURNING_OFF
D/BluetoothMapService(23958): MAP Service closeService in
I/BtOppRfcommListener(23958): stopping Accept Thread
I/CompanionService(13584): bluetoothStateChangeReceiver action = android.bluetooth.adapter.action.STATE_CHANGED
D/CachedBluetoothDevice(14368):  Clearing all connection state for dev:Bose SoundLink Wireless Mobile speaker
D/CachedBluetoothDevice(14368):  Clearing all connection state for dev:ANDY
D/CachedBluetoothDevice(14368):  Clearing all connection state for dev:obd2ecu
D/CachedBluetoothDevice(14368):  Clearing all connection state for dev:Glass 6014
D/CachedBluetoothDevice(14368):  Clearing all connection state for dev:P311
D/CachedBluetoothDevice(14368):  Clearing all connection state for dev:Logitech MX5000 Keyboard
W/ContextImpl(14368): Calling a method in the system process without a qualified user: android.app.ContextImpl.startService:1487 android.content.ContextWrapper.startService:494 android.content.ContextWrapper.startService:494 com.android.set
tings.bluetooth.DockEventReceiver.beginStartingService:134 com.android.settings.bluetooth.DockEventReceiver.onReceive:115
D/DockEventReceiver(14368): finishStartingService: stopping service
D/BluetoothPbap(14368): Proxy object disconnected
D/PbapServerProfile(14368): Bluetooth service disconnected
W/BluetoothAdapterState(23958): Timeout will setting scan mode..Continuing with disable...
D/BluetoothAdapterState(23958): CURRENT_STATE=PENDING, MESSAGE = BEGIN_DISABLE, isTurningOn=false, isTurningOff=true
E/bt-btif (23958): btif_disable_bluetooth : not yet enabled

Затем, через несколько мгновений:

D/BluetoothAdapterState(23958): CURRENT_STATE=PENDING, MESSAGE = DISABLE_TIMEOUT, isTurningOn=false, isTurningOff=true
E/BluetoothAdapterState(23958): Error disabling Bluetooth
D/BluetoothAdapterProperties(23958): Setting state to 12
I/BluetoothAdapterState(23958): Bluetooth adapter state changed: 13-> 12
D/BluetoothAdapterService(23958): Broadcasting updateAdapterState() to 1 receivers.
D/BluetoothManagerService(  578): Message: 60
D/BluetoothManagerService(  578): MESSAGE_BLUETOOTH_STATE_CHANGE: prevState = 13, newState=12
D/BluetoothManagerService(  578): Broadcasting onBluetoothStateChange(true) to 13 receivers.
D/BluetoothPan(  578): onBluetoothStateChange(on) call bindService
I/BluetoothAdapterState(23958): Entering On State
Быстрый вопрос, я предполагаю, что это для «Stock Rom» для обоих устройств Nexus? Если да, не могли бы вы запустить adb shell dumpsys meminfo.. Это также может быть пакет, который вы установили на свои телефоны, который может быть виновником. К вашему сведению, я провел те же тесты на своем телефоне Nexus 5 с root-доступом и стандартным ПЗУ. и у меня все работает.. однако я нахожу эту строку журнала интересной, где состояние меняется с 13 -> 10, когда я остановил службу Bluetooth...D/BluetoothManagerService( 1683): Bluetooth State Change Intent: 13 -> 10
@Rushnosh, да, это стандартный Google Android на обоих устройствах. Позже я сделаю дамп памяти и добавлю то, что найду, к вопросу.
хорошо, также версию сборки Andriod, если это вообще возможно?
Также получены идентификаторы изменения состояния: 12 = СОСТОЯНИЕ_ВКЛ. — Устройство BT включено 10 = СОСТОЯНИЕ_ВЫКЛЮЧЕНО — Устройство BT выключено 13 = СОСТОЯНИЕ_TURNING_OFF — Устройство BT выключено 11 = СОСТОЯНИЕ_TURNING_ON — Устройство BT включено Дополнительная информация здесь: developer.android.com /ссылка/андроид/блютуз/…
Теперь, просто сопоставив ваши журналы с моими здесь, я заметил, что при попытке очистить ваши устройства Blue Tooth под сообщением Logitec Keyboard появляется предупреждение: D/CachedBluetoothDevice(14368): Clearing all connection state for dev:Logitech MX5000 Keyboard W/ContextImpl(14368): Calling a method in the system process without a qualified user:не знаю, выпущено ли это, но перезагрузите телефон, выполните тест включения / выключения BT, чтобы увидеть если обычный телефон работает, подключите клавиатуру, чтобы убедиться, что ваш logitec не обрабатывает отключение.
Отвечу на несколько вопросов, у меня Андроид 4.4.4, сборка КТУ84П. Клавиатура Logitech сейчас находится в нескольких километрах, поэтому, если я действительно недооценил возможности Bluetooth, это не должно вызывать проблем. (Nexus 5 также никогда не видел Logitech). Кроме того - спасибо за ваше время... это действительно ценится!
Вы хотя бы пытались перезагрузить телефон и выполнить тест, который я просил, но?
Извини, вчера не хватило времени. Я перезагрузил и теперь проблема исчезла! Это означает, что мы не получаем ответа о том, что было причиной этого. Если / когда проблема вернется, я проведу ваш тест на телефоне. Спасибо за руководство!
Это процесс устранения, мой друг :) ... по крайней мере, проблема не сохраняется при перезагрузке телефона, так что теперь у нас есть базовый уровень для работы. Теперь попробуйте несколько вещей, таких как ... переподключение клавиатуры и проведите несколько тестов ... если все работает хорошо, попробуйте что-нибудь еще ... изучив свои журналы, у вас был выбор из нескольких различных периферийных устройств BT. Так что дайте это назад, и когда проблема не исчезнет, ​​пожалуйста, перечислите шаги, которые вы сделали, чтобы воспроизвести проблему, и с этим вы можете направить свои выводы правильной группе разработчиков :)
И сбросьте свои журналы logcat ^_^

Ответы (6)

Для меня это было приложение Firechat. Это будет одно из самых последних установленных вами приложений, если Bluetooth начал включаться, если нигде.

Предложите опубликовать это как комментарий, а не как ответ, так как это может быть неприменимо в случае OP.
Спасибо! Сделал работу за меня. Неделю искал, что не так!

У меня был тот же симптом, и отключение «Сканирования Bluetooth» в службах определения местоположения разрешило его:

https://stackoverflow.com/questions/34414216/using-bluetooth-scanning-for-location-accuracy-android-m

Вопрос был опубликован в августе 2014 года, когда еще не было Зефира, поэтому я не думаю, что это поможет решить проблему...
Я сейчас на Зефире, и я все еще получаю эту проблему.

Вы можете узнать, что активирует Bluetooth, зайдя в Настройки -> Подключения -> Bluetooth -> "..." -> История управления Bluetooth.

В моем случае это было приложение для проката велосипедов для Парижа «Велиб», и, к сожалению, нет способа остановить его активацию Bluetooth через настройки разрешений.

Мой телефон Samsung GS7 с Android 7.0.

У меня такая же проблема. Виной всему было приложение Automatic, которое подключается к ключу, который подключается к OBD-порту вашего автомобиля. Я ненавижу приложение. Я просто иногда использую его, чтобы прочитать коды проверки двигателя. Удалил автомат и все нормально. Обычно виновато неправильное приложение.

У меня такая же проблема. Это сработало для меня. Настройки ~Приложения~Все~Bluetooth. Кнопка отключения не была выделена, поэтому я просто очистил все данные. Я сделал то же самое для обмена Bluetooth. Затем я несколько раз пытался включить или выключить Bluetooth, чтобы посмотреть, останется ли он выключенным, и это сработало.

У меня была та же проблема, и оказалось, что это приложение содержало неправильные коды, которые продолжали искать устройства Bluetooth в фоновом режиме, даже если приложение было закрыто (это было приложение для обмена сообщениями BT).