2011-09-23 20 views
7

Sono nuovo qui e ho letto molto del tuo post, e ancora non trovo la soluzione del mio problema.Connessione automatica Bluetooth con dispositivi accoppiati

Sto scrivendo un'app per Android 2.2 tramite Bluetooth per connettersi a un dispositivo finale. Ho una lista di dispositivi accoppiati e posso collegare il mio tablet Android a ciascuno dei miei dispositivi già noti.

Quello che voglio fare è connettersi con un dispositivo finale automaticamente non appena il tablet Android (Master in tutta la comunicazione, tra l'altro) rileva che uno dei noti dispositivi accoppiati è nel raggio d'azione.

Una possibilità è quella di sondare costantemente e provare a vedere chi è vicino a me, ma ciò costerebbe molta durata della batteria, e se andrò nel raggio d'azione con uno degli End-Devices e il mio Android-Tablet non è in al centro del processo di polling, non otterrei la connessione automatica; Dovrei aspettare fino al prossimo ciclo di Polling.

C'è qualche soluzione al problema?

vorrei il tutto per funzionare come BT-cuffie e la mia portata di mano: -/

Grazie per le vostre risposte e spero che possiamo fare con esso!

risposta

0

Non sono sicuro se questa soluzione funzioni o meno. L'idea è di ottenere tutti i dispositivi associati e passarci attraverso e provare a connettersi utilizzando l'indirizzo MAC di quel dispositivo

String macAddress;  
    for (BluetoothDevice device : pairedDevices) { 

    BluetoothSocket bluetoothSocket = null; 
    try { 
     if (bluetoothSocket == null || !bluetoothSocket.isConnected()) { 
     bluetoothSocket = device.createRfcommSocketToServiceRecord(MYUUID); 
     mBluetoothAdapter.cancelDiscovery(); 
     if(!bluetoothSocket.isConnected()){ 
      bluetoothSocket.connect(); 
     } 
     if (bluetoothSocket.getInputStream() != null && bluetoothSocket.getOutputStream() != null) { 
      macAddress = device.getAddress(); 
     } 
    } 
Problemi correlati