我有一个BluetoothDevice列表,我想以编程方式与其中一个有PIN码的人配对 我在这里阅读了几篇讨论主题的帖子,但我发现了两种截然不同的方法。
第一个选项:您调用device.createBond()
方法。然后,在BroadcastReceiver上,您监听BluetoothDevice.ACTION_PAIRING_REQUEST
操作并在那里打电话
device.setPin(PIN_BYTES);
device.setPinConfirmation(true);
你可以看到完整的例子&在这里发帖:How to pair Bluetooth device programmatically Android
第二个选项:如果您先拨打device.setPin(PIN_BYTES);
device.setPinConfirmation(true);
和device.setPin(PIN_BYTES)
,然后再device.setPinConfirmation(true)
,该怎么办?例如:
device.createBond()
然后你忘了听你的BroadcastReceiver上的if(connConfig!=null && connConfig.bluetooth!=null){
device.setPin(connConfig.bluetooth.pass);
device.setPairingConfirmation(true);
device.createBond();
}
动作而只关注BluetoothDevice.ACTION_PAIRING_REQUEST
事件? Android + Pair devices via bluetooth programmatically
在第一个答案中查看代码。据我所知,那个家伙没有使用任何PIN进行配对,所以我还需要使用setPin方法。
你觉得哪一个更好?
我错过了什么吗?顺便说一句:我没有使用反射,因为我没有针对较旧的平台。