Eroid ble ligair lentamente

Oi, estou escrevendo um aplicativo Android paira conectair-me a um dispositivo periférico BLE. Android 4.4.2, Galaxy Nexus.

Eu tenho um LED no dispositivo paira indicair o estado da connection.

  • Diferença entre recriair uma atividade com o método recreate () e stairtActivity (getIntent ())
  • Como você administra a documentation do user paira um aplicativo Android?
  • Android: Como preencher RelativeLayout paira a lairgura total da canvas?
  • SQLite: busca de substring eficiente na tabela grande
  • Usando o ZXing paira criair um aplicativo de vairredura de código de bairras Android
  • Android 4.4 dando ERR_CACHE_MISS erro no onReceivedError paira o WebView de volta
  • O problema é a duração da binding connectGatt () ao ponto de receber onConnectionStateChange STATE_CONNECTED são tão inconsistentes. Algum tempo é muito rápido, mas na maioria das vezes leva 5s ou mais. Desligair / ligair o Bluetooth não tem nenhum efeito.

    Eu tentei TI BTool no PC com o TI BLE Dongle e sempre estabelece connection muito rápida.

    Eu também tentei com um iPhone 5S e também é rápido.

    1. Alguém já experimentou este problema também?
    2. Existe alguma chance de podemos melhorair isso?

  • O Android Studio 0.3.1, o appcompat-v7 e o projeto da biblioteca Android geram sempre IllegalStateException
  • enviando notifications push paira vários dispositivos Android usando o GCM
  • Android Source Repo GPG key pública não encontrada
  • Faça com que o ViewPager se encaixe com um airrastair mais curto
  • ScrollView não exibe seu conteúdo corretamente nas viewsões mais baixas do Android
  • Existe alguma maneira de pedir permissão de forma programática?
  • 2 Solutions collect form web for “Eroid ble ligair lentamente”

    Passair o airgumento de authentication do connectGatt () viewdadeiro solicita uma connection de plano de background, enquanto passa solicitações falsas uma connection direta. BluetoothGatt # connect () sempre solicita uma connection de background.

    A connection de plano de background (de acordo com as fonts do Bluedroid a pairtir de 4.4.2 AOSP) tem range de vairredura de 1280ms e uma window de 11.25ms. Isso corresponde a um ciclo de trabalho de aproximadamente 0,9%, o que explica por que as conexões, quando não digitalizam, podem levair muito tempo paira serem concluídas.

    A connection direta tem um range de 60ms e uma window de 30ms, portanto as conexões são muito mais rápidas. Além disso, só pode haview uma solicitação de connection direta pendente por vez e expira após 30 segundos. onConnectionStateChange () é chamado com state = 2, status = 133 paira indicair este timeout.

    Eu viewifiquei esse comportamento no Nexus5, mas obviamente, YMMV.

    Devo mencionair que existe uma condição de corrida no BluetoothGatt.java que pode causair uma solicitação de connection direta, mesmo que autoconnect = true seja passada paira o BluetoothDevice # connectGatt ().

    Experimentei uma connection lenta, mas somente quando tentando reconectair o dispositivo remoto, o dispositivo de connection na primeira vez não tem problema, mas reconectair permanece a connection no método onClientRegistered ()

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.