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

1.检测连接状态:

Java代码  android 获取蓝牙已连接设备-风君雪科技博客

int a2dp = bluetoothAdapter.getProfileConnectionState(BluetoothProfile.A2DP);  
                int headset = bluetoothAdapter.getProfileConnectionState(BluetoothProfile.HEADSET);  
                int health = bluetoothAdapter.getProfileConnectionState(BluetoothProfile.HEALTH);  

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

Java代码  android 获取蓝牙已连接设备-风君雪科技博客

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);  
                }