我为Android Wear开发了一个应用程序。下面的代码带有问题的解释
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);
}
}
});
}
UPD:我可以通过关闭电源并重新打开手机的方式来解决问题(Nexus 5),也许有更简单的方法来解决问题吗?
试图添加.await()和AsyncTask,但是结果是相同的
最佳答案
我相信您每个GoogleApiClient连接只能调用一次getConnectedNodes。您想在第一次获得结果时缓存节点ID,然后使用onPeerConnected/Disconnected()回调来跟踪节点ID是否仍然相关。