微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android ICS上的蓝牙连接无法实现

我正在编写一个应用程序,它将平板电脑的字节代码发送到μ控制器.在联想A1(Androi 2.3)和三星galaxy Tab 7 Plus N( Android 3.2)上一切正常.现在我遇到了新的三星galaxy Tab 2(Android 4.0)的问题.

我能够配对蓝牙天线(连接到μ控制器并通过串行协议进行通信).当我启动应用程序时,我再次被要求输入密码并配对.输入配对密码后,我的主要布局可见,但未建立连接.

日食中的LogCat告诉我:

06-19 16:00:20.656: V/BluetoothSocket.cpp(3189): availableNative
06-19 16:00:20.664: V/BluetoothSocket.cpp(3189): abortNative
06-19 16:00:20.664: V/BluetoothSocket.cpp(3189): ...asocket_abort(49) complete
06-19 16:00:20.664: I/ActivityManager(185): No longer want com.google.android.partnersetup (pid 3220): hidden #16
06-19 16:00:20.671: V/BluetoothSocket.cpp(3189): availableNative
06-19 16:00:20.671: V/BluetoothSocket.cpp(3189): destroyNative
06-19 16:00:20.671: V/BluetoothSocket.cpp(3189): ...asocket_destroy(49) complete
06-19 16:00:20.679: D/KeyguardViewMediator(185): setHidden false
06-19 16:00:20.679: W/System.err(3189): java.io.IOException: socket closed
06-19 16:00:20.679: W/System.err(3189):     at android.bluetooth.BluetoothSocket.available(BluetoothSocket.java:370)
06-19 16:00:20.679: W/System.err(3189):     at android.bluetooth.BluetoothInputStream.available(BluetoothInputStream.java:40)
06-19 16:00:20.679: W/System.err(3189):     at java.io.BufferedInputStream.available(BufferedInputStream.java:114)
06-19 16:00:20.687: W/System.err(3189):     at ebs.alphadidact.control.ReceiveThread.run(ReceiveThread.java:79)

更多的是LogCat接收了一千倍的消息:

V/BluetoothSocket.cpp(3189): availableNative

因此,当我在网上搜索时,我发现了一些有类似问题但没有解决方案的人.有人知道这个问题吗?

也许它是天线和Android 4.0之间的兼容性问题.我不认为错误是在我的代码中,因为我说相同的代码完全在旧的Android版本上运行.

解决方法

好的,我发现了问题所在.我不确定这只是一个三星问题还是Android ICS问题.

我像往常一样通过使用(获取Socket)尝试连接到天线:

clientSocket = device.createRfcommSocketToServiceRecord(MY_UUID);

好吧,它似乎无法解决我的天线和平板电脑设置,所以我试过:

clientSocket = device.createInsecureRfcommSocketToServiceRecord(MY_UUID);

这确实有效.第一个选项强制系统取消配对天线,然后再次要求配对.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐