【发布时间】:2020-05-16 16:01:05
【问题描述】:
背景
很久以前,我的任务是为 Wii 平衡板制作一个 android 应用程序,经过一番折腾后,我发现 android 不再支持 L2CAP。更多 research 导致了解它正在 Android 10 中重新添加。随着 Android 10 的推出,我现在一直在尝试破解它。
问题
所以我目前的简单目标是创建与 Wii 平衡板的连接。
我的连接方法是:
-
开始发现
-
将发现的蓝牙设备添加到列表中
-
当你点击一个设备时,它会尝试像这样打开一个套接字:
bluetoothSocket = btDevice.createInsecureL2capChannel(port); -
正如WiiBrew 网站上所述,我使用 psm 值 0x13 作为输入,使用 0x11 作为输出。
-
然后我使用
bluetoothSocket.connect并继续接收 IOException(超时错误) -
我也尝试过同时使用
createL2capChannel和createInsecureL2capChannel,结果相同 -
我能够成功地使用
btDevice.createBond()与设备配对,然后将手机的BT 地址向后使用.setpin(),Wii 平衡板只是充当“哑”输入设备。 (不确定是否需要配对/好主意)
以上是我尝试连接的简化流程。我还尝试使用 Paul Burton 的 fitscales 存储库中的 BalanceBoard.java 更新所有旧蓝牙代码,但我仍然会超时。
【问题讨论】:
标签: android bluetooth android-10.0 l2cap wii-balanceboard