通过本地节点打开频道时:
Wearable.NodeApi.getLocalNode(googleApiClient)
... onChannelOpened听众成功会触发。
但是,通过远程节点打开频道时:
Wearable.NodeApi.getConnectedNodes(googleApiClient)
... onChannelOpened Listener 从不触发,随后永远无法通过此频道共享文件。
我知道两个设备都需要openChannel,但是通道监听器只在本地打开它的设备上触发...如果远程设备不知道它,它如何发送或接收文件&# 39;连接?这是两个设备之间的细分
可穿戴设备:
处理暂停:
答案 0 :(得分:8)
<强> Toubleshooting 强>
以下是一些要检查的事项:
您是否收到消息事件或数据项更新?如果您致电Wearable.MessageApi.sendMessage
,您是否会在另一台设备上获得onMessageReceived
?如果没有,那么在另一个节点上设置WearableListenerService
的方式或者应用程序的打包方式可能有问题(例如,您的microapp和app在不同的包中,或者使用不同的密钥签名)。
您是否正在运行Android Wear app的最新版本?最近添加了Channel API,可能是您的手表仍未收到支持它的更新。版本1.1.1.1889093应该没问题。
如何使用渠道API
顺便说一下,听起来你可以简化你对频道的使用。无需打开本地和远程节点的通道。您通常使用API的方式是:
决定是否要从手表或手机启动频道。在这种情况下,听起来就像是从手表开始。
在观看应用中,拨打Wearable.ChannelApi.openChannel
,指向手机应用。此方法返回PendingResult<OpenChannelResult>
。成功完成后,您将获得一个Channel
对象。这是频道的手表侧,您可以使用它来发送文件。
在手机应用中,添加WearableListenerService
,该活动应该会有onChannelOpened
个事件。该方法将传递Channel
对象,该对象是频道的电话侧。您可以在该对象上调用receiveFile
。
正如您所看到的,您应该只有一次调用openChannel
:到远程节点。