蓝牙配对
- 本机请求配对其他设备。调用BluetoothDevice的createBond。
- 本机接收到其他设备的配对请求。类BluetoothPairingRequest处理
BluetoothPairingDialog: 蓝牙配对弹窗
不需要鉴权
Action: BluetoothDevice.ACTION_BOND_STATE_CHANGED
远程设备不需要鉴权,可以直接使用
需要输入
Action : BluetoothDevice.ACTION_PAIRING_REQUEST。
-
BluetoothDevice.PAIRING_VARIANT_PASSKEY_CONFIRMATION
需要用户确认 -
BluetoothDevice.PAIRING_VARIANT_DISPLAY_PASSKEY
输入显示在远程设备上的秘钥 -
BluetoothDevice.PAIRING_VARIANT_DISPLAY_PIN
在本机输入显示在远程设备上的pin码
这三种可以自动配对,远程设备本身携带有配对码pairingkey,可以通过BluetoothDevice.EXTRA_PAIRING_KEY获取到配对码
其他的需要手动输入
对话框显示
switch (mType) {
//提示用户输入pin码或passkey ------秘钥接入 (Passkey Entry)
case BluetoothDevice.PAIRING_VARIANT_PIN:
case BluetoothDevice.PAIRING_VARIANT_PASSKEY:
createUserEntryDialog();
break;
//提示用户确定显示在屏幕上的passkey ------使用简单 (Just Works)
case BluetoothDevice.PAIRING_VARIANT_PASSKEY_CONFIRMATION:
createConfirmationDialog();
break;
//用户将被提示接受或拒绝传入的配对请求。 ------带外数据(Out Of Band)
case BluetoothDevice.PAIRING_VARIANT_CONSENT:
case BluetoothDevice.PAIRING_VARIANT_OOB_CONSENT:
createConsentDialog();
break;
//用户将被提示输入显示在屏幕上的passkey/pin ------