gpt4 book ai didi

android - Nearby Connections 2.0 中的错误代码

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:02:56 28 4
gpt4 key购买 nike

我一直在试验新的 Android Nearby Connections v2.0应用程序接口(interface)。我的大多数设备现在大部分时间都可以相互通信,但我也得到了很多 error codes尝试连接时返回。在我的程序中检查 status.getStatusCode(),我可以看到以下返回码:

  • STATUS_ALREADY_CONNECTED_TO_ENDPOINT (8003)
  • STATUS_BLUETOOTH_ERROR (8007)
  • STATUS_ENDPOINT_IO_ERROR (8012)
  • STATUS_ERROR (13)

我很难理解这些。第一个错误代码似乎 是不言自明的,只是在我没有在所谓的连接的任何一侧用“SUCCESS”返回代码命中 onConnectionResult 回调的情况下看到它。我当前的代码充满了跟踪语句,如果已达到这些回调,我会看到日志条目。因此,也许设备在较低级别连接,但如果是这样,较高级别的代码并不总是听到它。

我猜 STATUS_BLUETOOTH_ERROR 表示记录它的那一端有蓝牙错误,而 STATUS_ENDPOINT_IO_ERROR 表示另一端有错误(可能涉及蓝牙)?是否有可能获得更多细节?我偶尔看到的 STATUS_ERROR (13) 状态听起来像是程序员在那些“WTF,我们永远不应该到达这里”的时刻使用的那种错误代码,但在没有访问源代码的情况下,我只能猜测。

请注意,我在其他时间使用相同代码相互通信的设备之间看到了这些错误。有时,如果代码重试足够多次,它最终会获得稳定的连接。有时它会连接并立即与另一端断开连接。有时我只会收到无穷无尽的重复错误消息(STATUS_BLUETOOTH_ERROR 和/或 STATUS_ENDPOINT_IO_ERROR)。

我正在使用连接策略 P2P_CLUSTER 的 Nearby Connections。当双方都做广告和发现时,这些问题似乎最常发生。但是,我编写了两个专门用于广告或发现的较小程序,它们有时也会出现这些错误(但不太常见)。

在跟踪消息中,我还注意到很多来自 Nearby Connections 的警告消息,如下所示:

09-04 22:54:40.070 3866-3924/? W/NearbyConnections: Cannot deserialize BluetoothDeviceName: expecting min 16 raw bytes, got 6

我猜这是因为 Nearby Connections 使用它自己的短标记(如 ZGbx)而不是设备蓝牙名称?不过,我对此一点也不确定。无论如何,如果这些是 Nearby Connections 自己的特殊标记,那么它为什么要发布有关它的警告消息?

最佳答案

[免责声明:我在 Nearby Connections 工作]我可以尝试帮忙。

STATUS_ALREADY_CONNECTED_TO_ENDPOINT:如果您调用“requestConnection”时您有任何未决 (onConnectionInitiated) 或已建立 (onConnectionResult) 到给定端点的连接,则会发生这种情况。将您的日志语句移至更早的 onConnectionInitiated,您应该明白我们抛出此错误的原因。

STATUS_BLUETOOTH_ERROR:蓝牙出现问题。手机可能处于不良状态。这(希望)不应该经常发生。但是,如果您真的想要修复,请在重新尝试 requestConnection 之前停止广告和发现。 Nearby Connections 将在检测到此错误时切换蓝牙,但前提是没有其他任何事情发生。

STATUS_ENDPOINT_IO_ERROR:我们失去了与其他设备的连接。发生这种情况的原因有多种(他们可能走得太远、蓝牙不稳定、设备停止响应等)。如果您在有联系的情况下发现,请避免这种情况。在手机上可能很难发现,最好的情况下会降低带宽,最坏的情况下会导致连接中断。

STATUS_ERROR:出现了与其他错误代码不相符的错误。这是一个包罗万象的。这通常在 onConnectionResult(FAILED) 中返回,以通知您在 onConnectionInitiated 和等待双方接受连接之间出现了问题。

我们还在即将发布的版本中降低了“无法反序列化 BluetoothDeviceName”的日志严重性,因为它并不是真正的警告。就像你说的;当我们在发现时看到非 Nearby Connections 设备时的预期行为。

如果您仍然遇到问题,请告诉我们您使用的是什么设备,我们一定会将它们添加到我们的测试套件中。

关于android - Nearby Connections 2.0 中的错误代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46036191/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com