蓝牙如果手动配对并已连接,获取连接的设备:
1.检测连接状态:
int a2dp = bluetoothAdapter.getProfileConnectionState(BluetoothProfile.A2DP); int headset = bluetoothAdapter.getProfileConnectionState(BluetoothProfile.HEADSET); int health = bluetoothAdapter.getProfileConnectionState(BluetoothProfile.HEALTH);
2,根据是否有连接获取已连接的设备:
int flag = -1; if (a2dp == BluetoothProfile.STATE_CONNECTED) { flag = a2dp; } else if (headset == BluetoothProfile.STATE_CONNECTED) { flag = headset; } else if (health == BluetoothProfile.STATE_CONNECTED) { flag = health; } if (flag != -1) { bluetoothAdapter.getProfileProxy(MainActivity.this, new ServiceListener() { @Override public void onServiceDisconnected(int profile) { // TODO Auto-generated method stub } @Override public void onServiceConnected(int profile, BluetoothProfile proxy) { // TODO Auto-generated method stub List<BluetoothDevice> mDevices = proxy.getConnectedDevices(); if (mDevices != null && mDevices.size() > 0) { for (BluetoothDevice device : mDevices) { Log.i("W", "device name: " + device.getName()); } } else { Log.i("W", "mDevices is null"); } } }, flag); }