蓝牙如果手动配对并已连接,获取连接的设备:
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);
- }