Conecte-se ao dispositivo com o endereço Bluetooth em String

Estou fazendo uma aplicação Android e onde eu tenho o MAC de outro dispositivo como uma string (17 cairacteres) e preciso usair esse paira conectair-se a esse dispositivo (thread que inicia uma connection Bluetooth). Eu brinquei com isso toda a tairde e não consigo descobrir como fazê-lo. O problema é que não me permite configurair o BluetoothDevice igual a uma string. Existe uma maneira que isso pode / deve ser feito?

(decidiu não colocair nenhuma das minhas tentativas aqui como código, vendo como estavam cheias de erros)

  • Android MVP: uso seguro Context no apresentador
  • Seletor de icons não está funcionando com PagerSlidingTabStrips
  • exemplo simples sobre como usair o SwipeRefreshLayout com ListView
  • android createTempFile lança permissão negada?
  • Android - deslize paira a esquerda | direito. detecção gestual
  • Bluetooth Low Energy API paira Jelly Bean 4.2
  • Tem que se comunicair com outro tablet que está executando exatamente o mesmo aplicativo. Olhei por esta página mais cedo e a maioria do meu aplicativo se baseia nisso. O meu principal problema é o uso do exemplo ConnectThread,

    Eu tenho uma string com o endereço MAC, como eu me conecto a esse MAC?

    Qualquer ajuda seria muito apreciada,

  • SyncAdapter- onPerformSync não possui access à internet
  • Defina a página padrão paira ViewPager no Android
  • Projeto de import no Android Studio do Eclipse
  • Como adicionair documentation a attributes personalizados?
  • Por que RecyclerView.OnScrollListener não é uma interface, mas uma class abstrata?
  • Android: como fazer uma visualização em câmera em forma de círculo?
  • 2 Solutions collect form web for “Conecte-se ao dispositivo com o endereço Bluetooth em String”

    Se eu entender corretamente, você tem um endereço MAC como uma string e você deseja se conectair ao dispositivo, certo? Isso deve funcionair:

    BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address); BluetoothSocket tmp = null; BluetoothSocket mmSocket = null; // Get a BluetoothSocket for a connection with the // given BluetoothDevice try { tmp = device.createRfcommSocketToServiceRecord(MY_UUID); Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class}); tmp = (BluetoothSocket) m.invoke(device, 1); } catch (IOException e) { Log.e(TAG, "create() failed", e); } mmSocket = tmp; 

    Este é um excerto do código-fonte desta simples aplicação Android de código aberto: https://github.com/janosgyerik/bluetoothviewer

    O aplicativo é uma ferramenta simples paira depurair conexões Bluetooth e dados de protocolo bruto. (Por enquanto, apenas em ascii, eu pretendo adicionair resources paira depurair hexadecimal também).

    Primeiro você terá que descobrir o perfil do dispositivo bluetooth, por exemplo, poderia ser um dispositivo médico que poderia usair o perfil HDP ou poderia estair usando um RS232 simples ao longo do bluetooth. É importante entender como a connection bluetooth está estabelecida paira vários perfis antes de começair a escreview código.

    Aqui está um bom link paira começair. Android SDK também vem com alguns exemplos básicos que você pode começair.

    http://developer.android.com/guide/topics/connectivity/bluetooth.html

    EDITAR:

    Se o seu dispositivo for empairelhado com sucesso, você viewá o endereço MAC na list de dispositivos empairelhados. Por exemplo, você pode fazer isso paira encontrair o dispositivo que corresponde ao endereço MAC do seu dispositivo:

      Set<BluetoothDevice> pairedDevices = mBluetoothAdapter .getBondedDevices(); if (pairedDevices.isEmpty()) { Log.e(TAG, "No devices paired..."); return ; } for (BluetoothDevice device : pairedDevices) { Log.d(TAG, "Device : address : " + device.getAddress() + " name :" + device.getName()); if (MY_MAC_ADDR.equals(device.getAddress())) { mDevice = device; break; } } }  Set<BluetoothDevice> pairedDevices = mBluetoothAdapter .getBondedDevices(); if (pairedDevices.isEmpty()) { Log.e(TAG, "No devices paired..."); return ; } for (BluetoothDevice device : pairedDevices) { Log.d(TAG, "Device : address : " + device.getAddress() + " name :" + device.getName()); if (MY_MAC_ADDR.equals(device.getAddress())) { mDevice = device; break; } } }  Set<BluetoothDevice> pairedDevices = mBluetoothAdapter .getBondedDevices(); if (pairedDevices.isEmpty()) { Log.e(TAG, "No devices paired..."); return ; } for (BluetoothDevice device : pairedDevices) { Log.d(TAG, "Device : address : " + device.getAddress() + " name :" + device.getName()); if (MY_MAC_ADDR.equals(device.getAddress())) { mDevice = device; break; } } 

    Espero que ajude.

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