永远不会调用Wearable.NodeApi.getConnectedNodes结果

doo*_*aye 11 android android-wear-data-api wear-os

我开发了一个Android的应用程序.下面的代码解释了问题

 if(mGoogleApiClient.isConnected()){
            K.i("Always called!");
            Wearable.NodeApi.getConnectedNodes(mGoogleApiClient).setResultCallback(new ResultCallback<NodeApi.GetConnectedNodesResult>() {
                @Override
                public void onResult(NodeApi.GetConnectedNodesResult nodes) {
                    K.i("Never called :( ");
                    for (Node node : nodes.getNodes()) {
                        Wearable.MessageApi.sendMessage(mGoogleApiClient, node.getId(), message, null);
                    }
                }
            });      
        }
Run Code Online (Sandbox Code Playgroud)

UPD:我通过关闭来解决问题并再次开启我的手机(Nexus 5)可能有更简单的方法来解决问题吗?

试图添加.await()和AsyncTask,但结果是一样的

bar*_*ide 3

我相信每个 GoogleApiClient 连接只能调用一次 getConnectedNodes 。您希望在第一次获取结果时缓存节点 ID,然后使用 onPeerConnected/Disconnected() 回调来跟踪节点 ID 是否仍然相关。