Android 蓝牙获得连接设备的Mac地址和名称
adapter = BluetoothAdapter.getDefaultAdapter();
int a2dp = adapter.getProfileConnectionState(BluetoothProfile.A2DP);
int headset = adapter.getProfileConnectionState(BluetoothProfile.HEADSET);
int health = adapter.getProfileConnectionState(BluetoothProfile.HEALTH);
int flag = -1;
if (a2dp == BluetoothProfile.STATE_CONNECTED) {
Log.i(TAG, "onCreate:1 "+a2dp);
flag = a2dp;
} else if (headset == BluetoothProfile.STATE_CONNECTED) {
Log.i(TAG, "onCreate:2 "+headset);
flag = headset;
} else if (health == BluetoothProfile.STATE_CONNECTED) {
Log.i(TAG, "onCreate:3 "+health);
flag = health;
}
if (flag != -1) {
adapter.getProfileProxy(MainActivity.this, new () {
@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()+";"+device.getAddress());
}
} else {
Log.i("W", "mDevices is null");
}
}
}, flag);