相关疑难解决方法(0)

Nearby Connections 2.0:双方都请求连接,但没有成功连接

我正在尝试将新的Android Nearby Connections v2.0 API 与P2P_CLUSTER连接策略一起使用。以下问题(两个设备都请求连接,但未成功连接)似乎出现在运行 Android KN 的各种设备上。有时代码会获得成功的持久连接……有时不会。

在这种场景下,双方都在广播和发现,双方互相发现,双方都发送连接请求(但没有发起连接)。使用特定的测试用例很难使这种情况可靠地发生,但它确实发生了。

使用 Android Monitor,我从一侧捕获了有关此场景的详细信息,并在下面列出了事件序列。在这个特定的会话中,我监控的设备是非常便宜的 KitKat 手机,远程端点是 Samsung Lollipop 平板电脑(以防万一)。

  • 发现远程节点,我们发出 requestConnection
  • 紧接着,Android Monitor 显示此错误:

    09-28 11:49:38.706 17321-17823/? E/NearbyConnections: In startClient(), UKEY2 failed with endpoint AqXW
                                                      java.io.IOException: bt socket closed, read return: -1
                                                          at android.bluetooth.BluetoothSocket.read(BluetoothSocket.java:647)
                                                          at android.bluetooth.BluetoothInputStream.read(BluetoothInputStream.java:96)
                                                          at java.io.InputStream.read(InputStream.java:162)
                                                          at java.io.BufferedInputStream.fillbuf(BufferedInputStream.java:149)
                                                          at java.io.BufferedInputStream.read(BufferedInputStream.java:295)
                                                          at libcore.io.Streams.readFully(Streams.java:81)
                                                          at java.io.DataInputStream.readInt(DataInputStream.java:103)
                                                          at xkj.c(:com.google.android.gms@11509230:1)
                                                          at xkg.run(:com.google.android.gms@11509230:8)
                                                          at mng.run(:com.google.android.gms@11509230:25)
                                                          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                                                          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                                                          at mso.run(:com.google.android.gms@11509230)
                                                          at java.lang.Thread.run(Thread.java:818)
    
    Run Code Online (Sandbox Code Playgroud)

  • 紧接着,它使用STATUS_ENDPOINT_IO_ERROR(8012)命中 requestConnection 的 ResultCallback 。

  • 接下来,因为 …

android bluetooth google-nearby

6
推荐指数
1
解决办法
1139
查看次数

标签 统计

android ×1

bluetooth ×1

google-nearby ×1