背景
很久以前,我的任务是为 Wii 平衡板制作一个 android 应用程序,经过一番折腾后,我发现 android 不再支持 L2CAP。更多的研究导致它被重新添加到 Android 10 中。随着 Android 10 的推出,我现在一直在尝试破解它。
问题
所以我现在的简单目标是与 Wii 平衡板建立连接。
我的连接方法是:
开始发现
将发现的蓝牙设备添加到列表
当您单击设备时,它会尝试打开一个套接字,如下所示:
bluetoothSocket = btDevice.createInsecureL2capChannel(port);
正如WiiBrew网站上提到的,我使用 psm 值 0x13 作为输入,使用 0x11 作为输出。
然后我使用
bluetoothSocket.connect
并继续接收 IOException(超时错误)我也尝试过使用两者
createL2capChannel
并createInsecureL2capChannel
获得相同的结果我能够成功地使用手机 BT 地址与设备配对
btDevice.createBond()
,然后向后使用手机 BT 地址.setpin()
,Wii 平衡板只是充当“哑”输入设备。(不确定是否需要配对/好主意)
以上是我尝试连接的简化流程。我还尝试使用BalanceBoard.java
Paul Burton 的fitscales repo 更新所有旧蓝牙代码,但我仍然会超时。