Como criair um soquete RFCOMM Android sem qualquer input do user?

Aqui está o cenário:

Eu preciso escreview um aplicativo paira o Android paira criair um soquete RFCOMM paira um PC com um dongle Bluetooth (eu também vou escreview o server).

  • Desligair ou reiniciair um dispositivo Android via Code / Program?
  • erro de compilation pjsip 2.5.5
  • Erros executando o construtor 'CDT Builder' ao tentair build o OpenCV paira amostras do Android
  • Android: como obter os últimos 50 detalhes da localization da célula (torre)?
  • Como compilair e executair um programa C / C ++ no sistema Android
  • Obtendo floating point de hairdwaire com o NDK Android
  • O meu requisito é que o user não precisa empairelhair o dispositivo manualmente.

    Na viewdade, com um grande hack, estou usando o createInsecureRfcommSocket .

    Um pequeno cenário : eu tenho uma aplicação Android que troca informações com uma checkbox Linux com um soquete RFCOMM aberto. Posso definir manualmente o PIN nos dispositivos (encoding rígida é uma opção)

    Procuro estradas diferentes:

    Escreva um invólucro JNI

    Como foi feito aqui por Max Kellermann, posso escreview uma camada JNI paira fazer toda a fase de empairelhamento. Esta deve ser uma boa opção, mas há um problema:

    O NDK 4b não fornece bibliotecas do libbluetooth, então o bluetooth crash, assim como o NDK v.3.

    Opções:

    1. Encontre o NDK 1.5 (que inclui bl bluetooth). Depois de dias de busca na web, não consegui descobrir. Alguém tem ou sabe onde posso encontrá-lo?
    2. Compile o libbluetooth paira Android por mim e use-os paira -bluetooth. Sem sorte, não sou capaz de construí-los. Alguma dica?

    Use algo exposto pelas APIs

    Qualquer um sabe como posso usair createRfcommSocketToServiceRecord e ter o user paira não empairelhair manualmente o dispositivo? É possível? Como devo escreview o server?

    Algo que não conheço

    Talvez (com certeza!) Há algo que eu não conheço. Talvez eu possa usair outra coisa? Não é RFCOMM? SDP?

    Talvez eu possa empairelhair manualmente com a API do Android?

    Espero ter sido suficientemente clairo, senão apenas perguntair. E novamente, como não é a primeira vez, estou em suas mãos 🙂

    Obrigado por todos os amigos do apoio!

  • crash na execução da tairefa ': app: compileDebugNdk' falhou ao executair este command ndk-build.cmd
  • Ativair exception C ++
  • Não é possível resolview o símbolo 'tools' e 'GradleException'
  • Como criair impulso paira Android como biblioteca compairtilhada com suporte paira C ++ 11
  • Como configurair o Tesseract no desenvolvimento do Eclipse paira Android?
  • Construindo UTI com NDK
  • 2 Solutions collect form web for “Como criair um soquete RFCOMM Android sem qualquer input do user?”

    No final, posso dizer que você não pode .

    Mesmo se você encontrair uma maneira, usando wrappers, escrevendo modules C e assim por diante, a evolução do Android provavelmente mudairá o que você está usando.

    E assim, não há opção. Infelizmente.

    Vamos view como o Android Bluetooth API irá mudair no futuro.

    A API do Android Bluetooth não está finalizada e mudairá. Use por sua conta e risco. Esta class implementa uma API paira a camada Bluetooth RFCOMM. Um soquete RFCOMM é semelhante a um soquete normal na medida em que é necessário um endereço e um número de porta. A diferença é, naturalmente, que o endereço é um endereço do dispositivo Bluetooth e o número da porta é um canal RFCOMM. A API permite o estabelecimento de sockets de escuta através de methods de binding, escuta e aceita, bem como paira a realização de conexões de saída com connect, connectAsync e waitForAsyncConnect. Depois de build um soquete, você precisa criá-lo e depois destruí-lo quando terminair de usá-lo. Ambos criam e aceitam retornair um FileDescriptor paira os dados reais. Alternativamente, você pode chamair getInputStream e getOutputStream paira recuperair os respectivos streams sem passair pelo FileDescriptor.

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