我正在尝试从运行2.0.1固件的Moto Droid 连接到Zeemote(http://zeemote.com/)游戏控制器。以下测试应用程序确实已连接到设备(LED闪烁),但此后立即断开连接。我在下面粘贴了两个测试应用程序:一个实际上尝试从输入流中读取,另一个则只是坐在那里,等待设备在5秒钟后断开连接。是的,我确实有第三个版本:),它首先等待ACL_CONNECTED,然后打开套接字,但是它的行为没有新内容。一些背景信息:我可以使用bluez工具(也附带日志)从笔记本电脑完美连接到Zeemote。我肯定知道Droid 也可以与Zeemote进行对话,因为Market的'Game Pro'可以正常工作(但是那是驱动程序/服务,所以也许它使用了较低级的API?)。我注意到,“ adb bugreport”既不报告Zeemote的UUID也不显示RFCOMM频道,而报告其他所有设备(包括Moto HS815耳机,另一个“ sdp浏览”不报告的哑设备)。另外,设备启动时,Zeemote的优先级为0(其他优先级为100+)。我不知所措我在这儿住,我工作了这么久,我跑的想法说出来,所以任何帮助将是非常赞赏(即使你不知道的答案:))
3 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
尝试更改用于创建RfcommSocket的代码:
sock = zee.createRfcommSocketToServiceRecord(
UUID.fromString("8e1f0cf7-508f-4875-b62c-fbb67fd34812"));
对于此代码:
Method m = zee.getClass().getMethod("createRfcommSocket", new Class[] { int.class });
sock = (BluetoothSocket) m.invoke(device, 1);
还尝试在此m.invoke(device,1);中更改参数范围1-3。当连接将被连接但尝试读取时中止时,请在某个循环中再次调用方法test()。很简单:
for(int i=0;i<3;i++){ if(!testDone) test(); }
- 3 回答
- 0 关注
- 728 浏览
添加回答
举报
0/150
提交
取消