gpt4 book ai didi

Android Wear + Wearable ChannelApi openChannel 没有打开远程节点?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:03:29 26 4
gpt4 key购买 nike

通过本地节点打开 channel 时:

Wearable.NodeApi.getLocalNode(googleApiClient)

... onChannelOpened 监听器成功 触发。

但是,当通过远程节点打开 channel 时:

Wearable.NodeApi.getConnectedNodes(googleApiClient)

... onChannelOpened 监听器从不 触发,随后永远无法通过此 channel 共享文件。

我知道这两个设备都需要 openChannel,但 channel 监听器仅在本地打开它的设备上触发...如果远程设备不知道它已连接,它如何发送或接收文件?这是两个设备之间的故障

可穿戴:

  1. 保存本地文件 - 成功
  2. .openChannel 与本地(可穿戴)节点 - 成功
  3. .sendFile 到 channel - 成功

持有的句柄:

  1. .openChannel 与远程(可穿戴)节点 - 失败
  2. .receiveFile from channel - 失败
  3. 显示文件 - 失败

最佳答案

故障排除

以下是一些需要检查的事项:

  • 您是否收到消息事件或数据项更新?如果您调用 Wearable.MessageApi.sendMessage , 你有没有得到 onMessageReceived在另一台设备上?如果不是,可能有问题 WearableListenerService 在另一个节点上设置,或者与您的应用程序打包方式(例如,您的微应用程序和应用程序位于不同的包中,或者使用不同的 key 签名)。

  • 您运行的是最新版本的 Android Wear app ?最近添加了 Channel API,可能您的 watch 还没有收到支持它的更新。版本 1.1.1.1889093 应该没问题。

如何使用 channel API

顺便说一句,听起来您可以简化 channel 的使用。无需同时打开到本地和远程节点的 channel 。您通常使用 API 的方式是:

  1. 决定是要从 watch 还是手机启动 channel 。在这种情况下,听起来您是从 watch 启动它。

  2. 在 watch 应用中,调用 Wearable.ChannelApi.openChannel ,指着电话应用程序。此方法返回 PendingResult<OpenChannelResult> .成功完成后,您将获得 Channel 。目的。这是 channel 的 watch 端,您可以使用它来发送文件。

  3. 在电话应用程序中,包含一个 WearableListenerService ,它应该得到一个 onChannelOpened事件。该方法将传递一个 Channel。 object,也就是手机端的 channel 。您可以调用receiveFile在那个物体上。

如您所见,您应该只调用一次 openChannel : 到远程节点。

关于Android Wear + Wearable ChannelApi openChannel 没有打开远程节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30018709/

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