Android 蓝牙状态获取

1. 蓝牙状态是否连接:

    public static boolean isBTConnected(){
        BluetoothAdapter blueadapter = BluetoothAdapter.getDefaultAdapter();
//adapter也有getState(), 可获取ON/OFF...其它状态
        int a2dp = blueadapter.getProfileConnectionState(BluetoothProfile.A2DP);              //可操控蓝牙设备,如带播放暂停功能的蓝牙耳机
        int headset = blueadapter.getProfileConnectionState(BluetoothProfile.HEADSET);        //蓝牙头戴式耳机,支持语音输入输出
        int health = blueadapter.getProfileConnectionState(BluetoothProfile.HEALTH);
        return blueadapter != null && (a2dp == BluetoothAdapter.STATE_CONNECTED ||
                headset == BluetoothAdapter.STATE_CONNECTED ||
                health == BluetoothAdapter.STATE_CONNECTED);
    }

2. 蓝牙变化监听:

filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
        filter.addAction(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED);
        //filter.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED);
        registerReceiver(wifiReceiver, filter);


//onReceive:
else if(action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)){
                int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,
                        BluetoothAdapter.ERROR);
                boolean enabled = (state == BluetoothAdapter.STATE_ON);
            }else if(action.equals(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED)){
                int status = intent.getIntExtra(BluetoothAdapter.EXTRA_CONNECTION_STATE,
                        BluetoothAdapter.STATE_DISCONNECTED);
                btConnected = (status == BluetoothAdapter.STATE_CONNECTED);
            }

感谢:

http://blog.csdn.net/memoryjs/article/details/42968823

猜你喜欢

转载自blog.csdn.net/ansondroider/article/details/53911162