首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >蓝牙连接失败。java.io.IOException:读取失败,套接字可能关闭或超时,读取ret:-1

蓝牙连接失败。java.io.IOException:读取失败,套接字可能关闭或超时,读取ret:-1
EN

Stack Overflow用户
提问于 2016-04-14 03:32:02
回答 2查看 2.1K关注 0票数 3

这个问题困扰了我很长一段时间。我见过各种各样的解决方案,包括IOException: read failed, socket might closed - Bluetooth on Android 4.3,但都不起作用。

主要思想: 1.连接设备;2.通过uuid创建套接字;3. cancelDiscovery和连接。

日志列表如下:

代码语言:javascript
运行
复制
04-14 11:12:53.044: W/BluetoothAdapter(22212): getBluetoothService() called with no BluetoothManagerCallback
04-14 11:12:53.044: W/bt-l2cap(2445): L2CA_ErtmConnectReq()  PSM: 0x0001  BDA: dc2c2600006c  p_ertm_info: 0x00000000 allowed:0x0 preferred:0
04-14 11:12:53.044: W/bt-l2cap(2445): L2CAP - st: CLOSED evt: 21
04-14 11:12:53.044: W/bt-l2cap(2445): L2CAP - st: CLOSED evt: 7
04-14 11:12:53.064: W/bt-l2cap(2445): L2CAP - st: W4_L2CAP_CON_RSP evt: 11
04-14 11:12:53.064: W/bt-l2cap(2445): L2CAP - st: CONFIG evt: 24
04-14 11:12:53.074: W/bt-l2cap(2445): L2CAP - st: CONFIG evt: 14
04-14 11:12:53.074: W/bt-l2cap(2445): L2CAP - st: CONFIG evt: 25
04-14 11:12:53.074: W/bt-l2cap(2445): L2CAP - st: CONFIG evt: 15
04-14 11:12:53.264: W/bt-sdp(2445): process_service_search_attr_rsp
04-14 11:12:53.264: W/bt-l2cap(2445): L2CA_DisconnectReq()  CID: 0x004a
04-14 11:12:53.274: W/bt-l2cap(2445): L2CAP - st: W4_L2CAP_DISC_RSP evt: 18
04-14 11:12:53.274: E/bt-btif(2445): DISCOVERY_COMP_EVT slot id:91, failed to find channle,                                       status:1, scn:0
04-14 11:12:53.274: W/bt-btif(2445): invalid rfc slot id: 91
04-14 11:12:53.274: W/System.err(22212): java.io.IOException: read failed, socket might closed or timeout, read ret: -1
04-14 11:12:53.274: W/System.err(22212):    at android.bluetooth.BluetoothSocket.readAll(BluetoothSocket.java:574)
04-14 11:12:53.274: W/System.err(22212):    at android.bluetooth.BluetoothSocket.readInt(BluetoothSocket.java:585)
04-14 11:12:53.274: W/System.err(22212):    at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:326)
04-14 11:12:53.274: W/System.err(22212):    at com.wormhole.bluetoothdemo.MainActivity$ListItemClickListener.onItemClick(MainActivity.java:152)
04-14 11:12:53.274: W/System.err(22212):    at android.widget.AdapterView.performItemClick(AdapterView.java:299)
04-14 11:12:53.274: W/System.err(22212):    at android.widget.AbsListView.performItemClick(AbsListView.java:1115)
04-14 11:12:53.284: W/System.err(22212):    at android.widget.AbsListView$PerformClick.run(AbsListView.java:2928)
04-14 11:12:53.284: W/System.err(22212):    at android.widget.AbsListView$3.run(AbsListView.java:3691)
04-14 11:12:53.284: W/System.err(22212):    at android.os.Handler.handleCallback(Handler.java:733)
04-14 11:12:53.284: W/System.err(22212):    at android.os.Handler.dispatchMessage(Handler.java:95)
04-14 11:12:53.284: W/System.err(22212):    at android.os.Looper.loop(Looper.java:136)
04-14 11:12:53.284: W/System.err(22212):    at android.app.ActivityThread.main(ActivityThread.java:5072)
04-14 11:12:53.284: W/System.err(22212):    at java.lang.reflect.Method.invokeNative(Native Method)
04-14 11:12:53.294: W/System.err(22212):    at java.lang.reflect.Method.invoke(Method.java:515)
04-14 11:12:53.294: W/System.err(22212):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-14 11:12:53.294: W/System.err(22212):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
04-14 11:12:53.294: W/System.err(22212):    at dalvik.system.NativeStart.main(Native Method)

其他信息:主设备是我的手机(Android4.4.4或Android5.1.1),从设备是HID设备,UUID是"00001124-0000-1000-8000-00805f9b34fb“。

如果能帮忙的话,谢谢你。

EN

Stack Overflow用户

回答已采纳

发布于 2016-04-27 02:25:43

在我的情况下,系统附带的蓝牙设置可以工作。

所以,我查看蓝牙设置的源代码。

并将库frameworks/base/packages/SettingsLib/src/com/android/settingslib/bluetooth复制到我的项目中。

使用反射调用隐藏类和函数或变量。

终于起作用了。

我希望这能帮上忙。

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36613394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档