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 BluetoothProfile.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()+";"+device.getAddress());

                }
            } else {
                Log.i("W", "mDevices is null");
            }
        }
    }, flag);


你可能感兴趣的:(Android 蓝牙获得连接设备的Mac地址和名称)