Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android 4.4.4 Moto G Bluetooth LE vuelve a conectar el problema

Tengo una aplicación que funciona muy bien en un Samsung S3 con Android 4.3 sin embargo tengo problemas con un Moto G que ejecuta 4.4.4

Mi BLE periférico se conecta y desconecta varias veces durante el uso de las aplicaciones. Esto funciona bien, sin embargo a veces llega un punto donde la aplicación / teléfono ya no se vuelve a conectar con el periférico.

Todos los comandos gatt se ejecutan en el hilo principal, por ejemplo.

final BluetoothGatt gat = gatt; Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable() { @Override public void run() { // This code will be executed on the main thread if (Looper.myLooper() == Looper.getMainLooper()) { Log.e(TAG, "mGattCallback disconnect2: NOW ON MAIN THREAD :)"); } gat.disconnect(); } }); 

Y el periférico se desconecta bien. Cuando esto sucede y ya no puedo volver a conectarme con el periférico, obtengo un montón de registros como este:

 04-07 16:57:56.798: I/bt-hci(2127): BLE HCI(id=62) event = 0x02) 04-07 16:57:56.798: I/bt-hci(2127): btu_ble_process_adv_pkt 04-07 16:57:56.833: I/bt-hci(2127): BLE HCI(id=62) event = 0x02) 04-07 16:57:56.833: I/bt-hci(2127): btu_ble_process_adv_pkt 04-07 16:57:56.871: I/bt-hci(2127): BLE HCI(id=62) event = 0x02) 04-07 16:57:56.871: I/bt-hci(2127): btu_ble_process_adv_pkt 04-07 16:57:56.906: I/bt-hci(2127): BLE HCI(id=62) event = 0x02) 04-07 16:57:56.906: I/bt-hci(2127): btu_ble_process_adv_pkt 04-07 16:57:56.941: I/bt-hci(2127): BLE HCI(id=62) event = 0x02) 04-07 16:57:56.941: I/bt-hci(2127): btu_ble_process_adv_pkt 04-07 16:57:56.977: I/bt-hci(2127): BLE HCI(id=62) event = 0x02) 04-07 16:57:56.977: I/bt-hci(2127): btu_ble_process_adv_pkt 04-07 16:57:57.016: I/bt-hci(2127): BLE HCI(id=62) event = 0x02) 04-07 16:57:57.016: I/bt-hci(2127): btu_ble_process_adv_pkt 

Y tengo que salir de la aplicación, apagar bluetooth y encender de nuevo para que empiece a funcionar correctamente de nuevo.

¿Problemas conocidos, sugerencias o consejos?

Gracias

EDIT ———– Después de algunas pruebas más, parece que dejando la aplicación en ejecución, finalmente tengo los registros siguientes y luego mi periférico puede volver a conectar de nuevo:

 04-13 19:11:53.973: I/bt-hci(2034): BLE HCI(id=62) event = 0x02) 04-13 19:11:53.973: I/bt-hci(2034): btu_ble_process_adv_pkt 04-13 19:11:54.076: I/bt-hci(2034): BLE HCI(id=62) event = 0x02) 04-13 19:11:54.076: I/bt-hci(2034): btu_ble_process_adv_pkt 04-13 19:11:55.986: I/bt-hci(2034): BLE HCI(id=62) event = 0x02) 04-13 19:11:55.986: I/bt-hci(2034): btu_ble_process_adv_pkt 04-13 19:11:56.087: I/bt-hci(2034): BLE HCI(id=62) event = 0x02) 04-13 19:11:56.087: I/bt-hci(2034): btu_ble_process_adv_pkt 04-13 19:11:56.629: I/bt-hci(2034): BLE HCI(id=62) event = 0x02) 04-13 19:11:56.629: I/bt-hci(2034): btu_ble_process_adv_pkt 04-13 19:11:56.734: I/bt-hci(2034): BLE HCI(id=62) event = 0x02) 04-13 19:11:56.734: I/bt-hci(2034): btu_ble_process_adv_pkt 04-13 19:11:58.925: D/MDMCTBK(275): reply_len: 40 reply is = IFNAME=wlan0 <3>CTRL-EVENT-SCAN-RESULTS 04-13 19:11:58.925: D/MDMCTBK(275): Event received = CTRL-EVENT-SCAN-RESULTS 04-13 19:11:58.926: D/WifiStateMachine(1010): handleMessage: E msg.what=147461 04-13 19:11:58.926: D/WifiStateMachine(1010): processMsg: DisconnectedState 04-13 19:11:58.926: D/WifiStateMachine(1010): processMsg: ConnectModeState 04-13 19:11:58.926: D/WifiStateMachine(1010): processMsg: DriverStartedState 04-13 19:11:58.927: D/WifiStateMachine(1010): processMsg: SupplicantStartedState 04-13 19:11:58.928: D/TCMD(4253): NL - Read 56 bytes from update socket. 04-13 19:11:58.928: D/TCMD(4253): NL - message type is RTM_NEWLINK 04-13 19:11:58.928: D/TCMD(4253): Listening for incoming client connection request 04-13 19:35:18.787: V/AlarmManager(1010): sending alarm Alarm{42b84cc0 type 2 com.google.android.gms} 04-13 19:35:18.787: V/AlarmManager(1010): sending alarm Alarm{42b83a00 type 0 android} 04-13 19:11:58.941: D/WifiStateMachine(1010): handleMessage: X 04-13 19:12:00.615: D/WifiStateMachine(1010): handleMessage: E msg.what=131143 04-13 19:12:00.615: D/WifiStateMachine(1010): processMsg: DisconnectedState 04-13 19:12:00.616: D/WifiStateMachine(1010): processMsg: ConnectModeState 04-13 19:12:00.617: D/WifiStateMachine(1010): processMsg: DriverStartedState 04-13 19:12:00.628: D/WifiStateMachine(1010): handleMessage: X 04-13 19:12:01.425: D/MDMCTBK(275): reply_len: 40 reply is = IFNAME=wlan0 <3>CTRL-EVENT-BSS-REMOVED 1 04-13 19:12:01.425: D/MDMCTBK(275): Event received = CTRL-EVENT-BSS-REMOVED 1 04-13 19:12:01.425: D/MDMCTBK(275): reply_len: 40 reply is = IFNAME=wlan0 <3>CTRL-EVENT-SCAN-RESULTS 04-13 19:12:01.425: D/MDMCTBK(275): Event received = CTRL-EVENT-SCAN-RESULTS 04-13 19:12:01.425: D/WifiStateMachine(1010): handleMessage: E msg.what=147461 04-13 19:12:01.426: D/WifiStateMachine(1010): processMsg: DisconnectedState 04-13 19:12:01.426: D/WifiStateMachine(1010): processMsg: ConnectModeState 04-13 19:12:01.426: D/WifiStateMachine(1010): processMsg: DriverStartedState 04-13 19:12:01.426: D/WifiStateMachine(1010): processMsg: SupplicantStartedState 04-13 19:12:01.428: D/MDMCTBK(275): reply_len: 40 reply is = IFNAME=p2p0 <3>CTRL-EVENT-BSS-REMOVED 1 04-13 19:12:01.428: D/MDMCTBK(275): Event received = CTRL-EVENT-BSS-REMOVED 1 04-13 19:12:01.428: D/TCMD(4253): NL - Read 56 bytes from update socket. 04-13 19:12:01.428: D/TCMD(4253): NL - message type is RTM_NEWLINK 04-13 19:12:01.428: D/TCMD(4253): Listening for incoming client connection request 04-13 19:12:01.444: D/WifiStateMachine(1010): handleMessage: X 

Parece que es algo que ver con el WiFi ?!

  • Conexión del teléfono Android con ADB
  • ¿Es mi "hal_process_report_ind: mala calidad del artículo: 11" algo de qué preocuparse?
  • La aplicación de Android se estrella en Motorola defy reason <s3dReadConfigFile: 75>: No se puede abrir el archivo para leer
  • DevicePolicyManager.lockNow () no funciona para los tablets de Motorola
  • Cómo configurar SDK android para el desarrollo de línea de comandos en linux?
  • Los controladores usb para adb no funcionan para Motorola mc40
  • Dispositivos Motorola: org.threeten.bp.DateTimeException al analizar una fecha en ThreeTen
  • Ionic View no se muestra en cromo inspeccionar
  • 2 Solutions collect form web for “Android 4.4.4 Moto G Bluetooth LE vuelve a conectar el problema”

    Creo que no habrá una respuesta fácil como "usar el hilo principal" y todo está bien. Pero puedo darte algunos consejos que reuní mientras trabajaba con Android BITE mierda:

    • Pila de BT será diferente en diferentes teléfonos, por desgracia Moto G es uno de los teléfonos más crappiest si estamos hablando de BLE … ¿cómo crappy? Aplicación de azulejos incluso estados en sus preguntas frecuentes ¿Qué teléfonos Android Tile trabajo con :

    Sólo funcionará con Samsung Galaxy S5, HTC One M8, HTC One, LG Nexus 4, LG Nexus 5, LG Nexus 6, Samsung Nota 4, Motorola Moto X y ciertamente no funcionará con Moto G

     Bluedroid continues to mature and stabilize; there were 565 commits to the bluedroid project alone from 4.4 -> 5.0, compared with 52 commits from 4.3 -> 4.4, and 47 commits from 4.2 -> 4.3.* This is an area of heavy activity within AOSP right now. 
    • También hay un número máximo de conexiones (7) en Android 4.4 y aún más – mirar alrededor de 31'st minuto

    Este es un problema específico de MotoG, he encontrado lo mismo en los dispositivos de MotoG anteriormente. A partir de cuando la energía baja de Bluetooth no era bastante madura, la funcionalidad de Wifi y de Bluetooth, adversamente, se interfiere en ese dispositivo particular.

    De la R & D anterior que había hecho, no estoy seguro de si se trata de una versión del sistema operativo y la combinación de dispositivos específicos, pero ha habido algunos problemas relacionados con Bluetooth y Wifi, incluso más con Bluetooth Low Energy y Wifi, muchos han sido específicos del dispositivo.

    En cuanto a lo que se enfrentan, hay problemas en Android Open Source Project – Issue Tracker y otros blogs también;

    Número 39995
    No. 41631

    Nexus 5, Nexus 4 y Nexus 7 (2013) Android 4.4 Problemas con Bluetooth
    [Aunque no he enfrentado ese problema en Nexus 5]

    Independientemente del número de conexiones, el Wifi afecta a bluetooth de baja energía. Además, la reconexión y el tiempo de espera para una conexión también pueden ser propiedades del lado del hardware.

    Tu código está bien, espero que ahorres un poco de tiempo, he pasado algún tiempo en eso con MotoG y algunos otros dispositivos; Precisamente el caso de bluetooth bajo consumo de energía e interferencia wifi mientras interactúa con ble-dispositivos, a través de BluetoothGatt y iBeacon marco.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.