2015-10-28 24 views
13

Posso vedere due stati nel dispositivo Bluetooth in Android. 1. Accoppiamento 2. Connesso. -
Sto cercando di ottenere il dispositivo Bluetooth attualmente connesso in Android. Ma sto ricevendo solo l'elenco dei dispositivi associati da adapter.getBondedDevices(); Ho bisogno di un dispositivo attualmente connesso. Come posso ottenere questo. Per favore qualcuno mi aiuti a raggiungere questo obiettivo. Grazie in anticipo.Dispositivo Bluetooth attualmente connesso Android

+0

' " usa questa autorizzazione anche controlla questo link a http://stackoverflow.com/questions/14834318/android-how-to-pair-bluetooth-devices-programmatically – Android

+0

La domanda non è del tutto chiara per me . Che cosa fai esattamente? Si crea Connected btlDevice quando si esegue btlDevice.CreateRfcommSocketToServiceRecord (MY_UUID); In alternativa, il sistema utilizza l'ultimo dispositivo btlDevice collegato. Per favore, maggiori dettagli su cosa stai facendo. – Majkl

+0

Controlla questo https://stackoverflow.com/questions/26341718/connection-to-specific-hid-profile-bluetooth-device –

risposta

3

Aggiungi questo nel vostro file manifesto

<receiver android:name=".MyBluetoothReceiver" > 
<intent-filter> 
<action android:name="android.bluetooth.device.action.ACL_CONNECTED" /> 
<action android:name="android.bluetooth.device.action.ACL_DISCONNECTED" 
/> 
<action 
android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" 
/>   
</intent-filter> 
</receiver> 

Aggiungi questa classe

public class MyBluetoothReceiver extends BroadcastReceiver { 
@Override 
public void onReceive(Context context, Intent intent) { 
    String action = intent.getAction(); 

    // When discovery finds a device 
    if (BluetoothDevice.ACTION_ACL_CONNECTED.equals(action)) { 

    BluetoothDevice device = intent 
       .getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 

    Toast.makeText(getApplicationContext(),device.getName() +" CONNECTED",Toast.LENGTH_LONG).show(); 

    } else if (BluetoothAdapter.ACL_DISCONNECTED 
      .equals(action)) { 

    } 
} 
} 
+0

Questo darà solo una notifica quando il dispositivo si connette. Che dire del dispositivo è già collegato e quindi si avvia l'app? Come ottenere i dispositivi connessi? – usman

6

Questo è piuttosto semplice. Android BluetoothManager hanno modo di

getConnectedDevices()

Attuazione come:

BluetoothManager manager = (BluetoothManager) getSystemService(BLUETOOTH_SERVICE); 
    List<BluetoothDevice> connected = manager.getConnectedDevices(GATT); 
    Log.i("Connected Devices: ", connected.size()+""); 

Se volete maggiori dettagli circa i dispositivi collegati, è possibile utilizzare il metodo di lista di cui sopra metterlo in per loop e ottenere i dettagli interni di ogni dispositivo Bluetooth che sono collegati.

Logs:

12-20 18:04:09.679 14933-14933/com.salman.dleague.blescanning I/Connected Devices:: 2 

Spero che il suo utile :)