1

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()

データを送る前に?

4

1 に答える 1

2

フィルタを使用するFILTER_REACHABLEと、ネットワーク上で到達可能な (接続されている) デバイスのリストのみが表示されます。接続がクラウドを介して発生する可能性があるという事実を考慮すると、返されたリストを追加の基準に基づいてソートする必要がある場合があります。たとえば、必要なホップ数を減らすために、「直接接続」されているノード (isNearBy()) を優先する場合があります。そのノードに到達するには、または場合によっては、追加の機能 (プロセッサ機能や GPU 機能など) を宣言してから、接続されているデバイスの中から最も適切なものを見つける必要があります。

于 2015-07-18T22:54:42.777 に答える