蓝牙如果手动配对并已连接,获取连接的设备:

1.检测连接状态:

Java代码  android 获取蓝牙已连接设备_2d
  1. int a2dp = bluetoothAdapter.getProfileConnectionState(BluetoothProfile.A2DP);  
  2.                 int headset = bluetoothAdapter.getProfileConnectionState(BluetoothProfile.HEADSET);  
  3.                 int health = bluetoothAdapter.getProfileConnectionState(BluetoothProfile.HEALTH);  

 2,根据是否有连接获取已连接的设备:

Java代码  android 获取蓝牙已连接设备_2d
  1. int flag = -1;  
  2.                 if (a2dp == BluetoothProfile.STATE_CONNECTED) {  
  3.                     flag = a2dp;  
  4.                 } else if (headset == BluetoothProfile.STATE_CONNECTED) {  
  5.                     flag = headset;  
  6.                 } else if (health == BluetoothProfile.STATE_CONNECTED) {  
  7.                     flag = health;  
  8.                 }  
  9.   
  10.                 if (flag != -1) {  
  11.                     bluetoothAdapter.getProfileProxy(MainActivity.this, new ServiceListener() {  
  12.   
  13.                         @Override  
  14.                         public void onServiceDisconnected(int profile) {  
  15.                             // TODO Auto-generated method stub  
  16.   
  17.                         }  
  18.   
  19.                         @Override  
  20.                         public void onServiceConnected(int profile, BluetoothProfile proxy) {  
  21.                             // TODO Auto-generated method stub  
  22.                             List<BluetoothDevice> mDevices = proxy.getConnectedDevices();  
  23.                             if (mDevices != null && mDevices.size() > 0) {  
  24.                                 for (BluetoothDevice device : mDevices) {  
  25.                                     Log.i("W", "device name: " + device.getName());  
  26.                                 }  
  27.                             } else {  
  28.                                 Log.i("W", "mDevices is null");  
  29.                             }  
  30.                         }  
  31.                     }, flag);  
  32.                 }