监听Bluetooth

来源:互联网 发布:对外贸易大学法律知乎 编辑:程序博客网 时间:2024/06/10 04:28

监听bluetooth的intent可以获得bluetooth相应的状态。

监听的action有:

                <action android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
                <action android:name="android.bluetooth.adapter.action.SCAN_MODE_CHANGED" />
                <action android:name="android.bluetooth.adapter.action.DISCOVERY_STARTED" />
                <action android:name="android.bluetooth.adapter.action.DISCOVERY_FINISHED" />
                <action android:name="android.bluetooth.adapter.action.LOCAL_NAME_CHANGED" />

                <action android:name="android.bluetooth.device.action.FOUND" />
                <action android:name="android.bluetooth.device.action.DISAPPEARED" />
                <action android:name="android.bluetooth.device.action.CLASS_CHANGED" />
                <action android:name="android.bluetooth.device.action.ACL_CONNECTED" />
                <action android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" />
                <action android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
                <action android:name="android.bluetooth.device.action.NAME_CHANGED" />
                <action android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
                <action android:name="android.bluetooth.device.action.NAME_FAILED" />
                <action android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
                <action android:name="android.bluetooth.device.action.PAIRING_CANCEL" />
                <action android:name="android.bluetooth.device.action.UUID" />

                <action android:name="android.bluetooth.headset.action.STATE_CHANGED" />
                <action android:name="android.bluetooth.headset.action.AUDIO_STATE_CHANGED" />

                <action android:name="android.bluetooth.a2dp.action.SINK_STATE_CHANGED" />

                <action android:name="android.bluetooth.devicepicker.action.LAUNCH" />
                <action android:name="android.bluetooth.devicepicker.action.DEVICE_SELECTED" />

 可以通过Bundle extra = intent.getExra()获得相应intent数据,例如:


        Bundle bundle = intent.getExtras();
        if (bundle == null) return;
        for (String extra : bundle.keySet()) {
            Log.d(TAG, "\t  " + extra + " = " +  bundle.get(extra));
        }

可以得到相应的键值对。