监听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));
}
可以得到相应的键值对。