天天看點

Android for Bluetooth Connection State

擷取所連接配接的藍牙裝置的連接配接狀态

為了使用藍牙,我們首先需要添加以下的權限:

<uses-permission android:name="android.permission.BLUETOOTH"
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"      

藍牙連接配接和斷開以後都會發送廣播,我們可以通過接受廣播資訊,來擷取目前藍牙的連接配接狀态;要接收的兩個廣播是:

BluetoothDevice.ACTION_ACL_DISCONNECTED
BluetoothDevice.ACTION_ACL_CONNECTED      
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED);
intentFilter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED);
registerReceiver(blueStateReceiver, intentFilter);

private BroadcastReceiver blueStateRecevier = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
            if(BluetoothDevice.ACTION_ACL_CONNECTED.equals(action)){
                Log.e("connection", "connected " + device.getAddress());
            }
            else if(BluetoothDevice.ACTION_ACL_DISCONNECTED.equals(action)){
                Log.e("connection", "disconncted " + device.getAddress());
            }
        }
    };