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. if (flag != - 1) {
    9. bluetoothAdapter.getProfileProxy(MainActivity. this, new ServiceListener() {
    10. @Override
    11. public void onServiceDisconnected( int profile) {
    12. // TODO Auto-generated method stub
    13. @Override
    14. public void onServiceConnected( int profile, BluetoothProfile proxy) {
    15. // TODO Auto-generated method stub
    16. List<BluetoothDevice> mDevices = proxy.getConnectedDevices();
    17. if (mDevices != null && mDevices.size() > 0) {
    18. for (BluetoothDevice device : mDevices) {
    19. Log.i( "W", "device name: " + device.getName());
    20. } else {
    21. Log.i( "W", "mDevices is null");
    22. }, flag);