1

我正在尝试在可穿戴设备断开连接时向手机发送事件或更好的消息。

这是我正在使用的代码:

Wearable.MessageApi.sendMessage(
        mGoogleApiClient, node, event, message).setResultCallback(
        new ResultCallback<MessageApi.SendMessageResult>() {
            @Override
            public void onResult(MessageApi.SendMessageResult sendMessageResult) {
                if(!sendMessageResult.getStatus().isSuccess()) {
                    Log.e(TAG, "Failed to send message with status code: "
                            + sendMessageResult.getStatus().getStatusCode());
                }
            }
        }
);

节点 ID 在调用时被缓存,onPeerConnected(Node peer)因此我不需要查询节点 API 来获取空列表。但是我将数据发送到离线的节点。这导致 StatusCode 4000 是TARGET_NODE_NOT_CONNECTED. 我当然知道,但是缓存此事件以尽快发送它的最佳方法是什么?

4

1 回答 1

0

我以 Maciej Ciemięga 在评论中指出的想法结束。我正在使用 DataAPI 来存储和转发我的事件。在移动设备收到事件后,我从数据层删除了路径,因为它完成了它的工作。

您应该记住,删除将再次调用 onDataChanged 方法。所以你应该检查 DataEvent 的类型:

event.getType() == DataEvent.TYPE_DELETED

如果你不记住这一点,你可能会得到一个无限循环。

于 2015-02-19T13:42:12.370 回答