android - 示例代码的蓝牙连接问题

标签 android bluetooth

我正在尝试为游戏实现蓝牙多人游戏功能。但是连接有问题。这很困惑。我正在使用 Android 的示例代码,因为我以前从未尝试过这样的事情。

示例是一个简单的 BluetoothChat。刚才我又尝试将这些设备配对一次。

(至少安卓 2.1)

摩托罗拉 FlipOut 索尼爱立信X10 mini HTC 传奇

如果 FlipOut 正在扫描另一台设备并发送配对请求,则一切正常。如果其他两个设备尝试连接到 FlipOut,一个配对请求会出现在一个设备上。点击配对后没有任何反应。几秒钟后,我收到 Toast 消息“无法连接到设备。

我对我的 TicTacToe 使用相同的代码。但是行为会改变。 FlipOut 作为主机使用没有任何问题。但是 FlipOut 无法连接到其他设备。最后几天我尝试了很多设备。例如三星 Galaxy S、索尼爱立信 X8、索尼爱立信 X10...

我找不到规律。我读到三星和 HTC 的方法“listenUsingRfcommWithServiceRecord”有问题。但它应该在二月份就修好了。

有人可以解释为什么它不能正常工作以及我该如何修复它。如果我转到设置并尝试建立连接,一切正常。这意味着必须有解决方案,即使示例代码不能完美运行?

我不确定它是否有助于找到解决方案。但我安装了游戏“Galaxir”,这是一款来自 Android Market 的应用程序,具有蓝牙多人游戏功能。而且它也不是完美无缺的。

最佳答案

尝试将此代码用于套接字连接而不是 createRfcommSocketToServiceRecord()

BluetoothDevice hxm = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(device.getAddress());
Method m;
m = hxm.getClass().getMethod("createRfcommSocket", new Class[]{int.class});
socket = (BluetoothSocket)m.invoke(hxm, Integer.valueOf(1));

关于android - 示例代码的蓝牙连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6095095/

相关文章:

iphone - iphone如何连接无线鼠标?

java - 是否可以连接到一般的蓝牙api

android - android.os.Handler 和 java.util.logging.Handler 之间的区别?

android - 如何将 List<ParseUser> 应用于 MultiAutoCompleteTextView?

Android、AsyncTask、长时间运行的进程和方向更改

linux - iBeacon 仿真 ubuntu 报错

bluetooth - 从 BLE 设备读取日志数据记录

ios - 在 iOS Swift 中写入 BLE 接收器

java - 如何在 POJO/Model 中使用 FieldValue.serverTimestamp() 获取状态时间戳?

android - 应用程序如何只供用户读取并且只有管理员有权发布(使用 firestorm 数据服务器)