在特定设备上使用 Google 附近连接发送文件时出现问题

Problem sending file using Google Nearby Connections on specific device

我有 2 台设备:

两者都有最新版本的 Google Play 服务。

连接时,客户端应用程序正在向服务器应用程序发送一些字节;根据这些,它将发回字节或文件。它适用于我拥有的所有客户端设备,除了 Galaxy Tab 3,我不知道为什么。发送字节有效,但不发送文件(文件大约 25Mo!我试过 5Kb,结果相同:有效负载失败)。失败时,客户端断开与服务器的连接,然后重新连接到它,只会再次失败。经过一些尝试后,经常会出现一个弹出窗口,提示 Play 服务已停止。

有谁知道为什么会在这个特定设备上发生这种情况?

我的服务器应用程序有一些日志:

? I/NearbyConnections: EndpointManager failed the next Read read/write for endpoint ZPYv over its ENCRYPTED_BLUETOOTH EndpointChannel. [CONTEXT service_id=54 ]
    java.io.IOException: bt socket closed, read return: -1
        at android.bluetooth.BluetoothSocket.read(BluetoothSocket.java:550)
        at android.bluetooth.BluetoothInputStream.read(BluetoothInputStream.java:88)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:248)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:288)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:347)
        at java.io.DataInputStream.readFully(DataInputStream.java:198)
        at java.io.DataInputStream.readInt(DataInputStream.java:389)
        at agmx.e(:com.google.android.gms@203315046@20.33.15 (150400-330018294):1)
        at agoz.a(:com.google.android.gms@203315046@20.33.15 (150400-330018294):1)
        at agow.run(:com.google.android.gms@203315046@20.33.15 (150400-330018294):4)
        at agiy.run(Unknown Source:0)
        at qzr.b(:com.google.android.gms@203315046@20.33.15 (150400-330018294):12)
        at qzr.run(:com.google.android.gms@203315046@20.33.15 (150400-330018294):7)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at rfq.run(:com.google.android.gms@203315046@20.33.15 (150400-330018294):0)
        at java.lang.Thread.run(Thread.java:923)
? I/NearbyConnections: EndpointManager quit overall Read loop for endpoint ZPYv because the currently registered ENCRYPTED_BLUETOOTH EndpointChannel is in a failed state. [CONTEXT service_id=54 ]
? I/NearbyConnections: Failed to close write stream of ENCRYPTED_BLUETOOTH EndpointChannel BluetoothClassicSocket:C4:62:EA:38:FD:08: socket closed [CONTEXT service_id=54 ]
? I/NearbyConnections: EndpointChannelManager unregistered endpoint ZPYv [CONTEXT service_id=54 ]
? I/NearbyConnections: ClientProxy(80700159) ignoring onConnectionResult(ZPYv, ERROR) because this client has no pending connections to the endpoint [CONTEXT service_id=54 ]
? I/NearbyMediums: Closed Wifi Direct channel. [CONTEXT service_id=54 ]
? E/NearbyMediums: There's no Direct hotspot to stop when the Wi-Fi Direct channel disconnected. [CONTEXT service_id=54 ]

以及我的客户端应用程序错误报告对话框中的异常行(对话框不会每次都显示,所以我不知道这是否是 Nearby 失败的原因):

java.lang.IllegalArgumentException: Requested flags 0x43, but only 0x3 are allowed

这是 Nearby Connection 代码中的错误!它是

的一个实例

我刚刚提交了一个修复程序,但大约需要一个月的时间才能将其部署到设备上。

免责声明:我在附近工作