确定 Wearable.CapabilityApi.getCapability 返回的节点是否使用 Android Wear 上的 GoogleApiClient 连接
Determine if a node returned by Wearable.CapabilityApi.getCapability is connected using GoogleApiClient on Android Wear
我正在尝试 Android Wear(将数据从手表流式传输到 phone),我正在研究 CapabilityApi。
根据 Wearable.CapabilityApi.getCapability 的文档,不能保证此调用只会 return 连接节点:
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
过滤器时,您只会看到网络上可访问(即已连接)设备的列表。鉴于连接可以通过云发生这一事实,您可能希望根据其他条件对返回的列表进行排序,例如,您可能更喜欢那些 "directly connected" (isNearBy()) 的节点以减少跃点数需要到达该节点,或者在某些情况下,您可能需要声明其他功能(例如,处理器功能或 GPU 功能等),然后在连接的设备中找到最合适的设备。
我正在尝试 Android Wear(将数据从手表流式传输到 phone),我正在研究 CapabilityApi。
根据 Wearable.CapabilityApi.getCapability 的文档,不能保证此调用只会 return 连接节点: 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
过滤器时,您只会看到网络上可访问(即已连接)设备的列表。鉴于连接可以通过云发生这一事实,您可能希望根据其他条件对返回的列表进行排序,例如,您可能更喜欢那些 "directly connected" (isNearBy()) 的节点以减少跃点数需要到达该节点,或者在某些情况下,您可能需要声明其他功能(例如,处理器功能或 GPU 功能等),然后在连接的设备中找到最合适的设备。