我有一个应用程序(活动和服务)可以与单独的设备建立连接,并通过spp蓝牙从中提取数据。
每天需要做一次。
但是,手机(服务器)重新建立与设备(客户端)的连接的次数似乎有限。
在LogCat中,我看到了这个错误: BluetoothEventLoop.ccp
onCreateDeviceResult:D.Bus错误:org.freedesktop.DBus.Error.LimitsExceeded(已达到每个连接的最大待处理回复数)
onCreateDeviceResult的BluetoothEventLoop结果:-1
我正在考虑以编程方式重新启动手机但不想这样做吗?
您有任何想法如何克服这个问题。
理想情况下,手机将作为集线器运行,永久连接到电源,持续数周。 我正在运行Android 2.3.7。
答案 0 :(得分:0)
您是否使用此方法在连接线程中创建套接字?
tmp = device.createRfcommSocketToServiceRecord(MY_UUID);
我在2.3.6上遇到了同样的错误并使用反射方法修复了它。我用以下代码替换了上面的代码:
Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class});
tmp = (BluetoothSocket) m.invoke(device, 1);
我使用与其他问题相同的解决方案: Service discovery failed exception using Bluetooth on Android