确定在Android Wear上使用googleapicclient是否连接了wearables . capabilit



我正在尝试Android Wear(将数据从手表流式传输到手机),我正在研究CapabilityApi。

根据Wearable.CapabilityApi.getCapability的文档,不能保证这个调用只返回已连接的节点:https://developers.google.com/android/reference/com/google/android/gms/wearable/CapabilityInfo.html getNodes ()

我想知道的是,我是否必须做如下的事情:

final CapabilityApi.GetCapabilityResult result = 
    Wearable.CapabilityApi.getCapability(mGoogleApiClient, RECIEVE_SOUND_DATA_CAPABILITY, Wearable.CapabilityApi.FILTER_REACHABLE).await();
final NodeApi.GetConnectedNodesResult connectedNodes = Wearable.NodeApi.getConnectedNodes(mGoogleApiClient).await();
for (final Node node : result.getCapability().getNodes()) {
    if (connectedNodes.getNodes().contains(node)){
        sendDataToNode(node, dataSender);
    }
}

为了确定节点是否实际连接,或者调用:

node.isNearby()

在发送数据之前?

当您使用FILTER_REACHABLE过滤器时,您将只看到网络上可访问(即已连接)设备的列表。考虑到连接可以通过云发生,您可能希望根据其他标准对返回的列表进行排序,例如,您可能更喜欢那些"直接连接"的节点(isNearBy()),以减少到达该节点所需的跳数,或者在某些情况下,您可能需要声明额外的功能(例如,处理器功能或GPU功能等),然后在连接的设备中找到最合适的一个。

相关内容

  • 没有找到相关文章

最新更新