从断开的移动设备向可穿戴设备发送消息

时间:2015-02-18 09:27:21

标签: android wear-os android-wear-data-api

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

以下是我正在使用的代码:

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

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

1 个答案:

答案 0 :(得分:0)

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

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

event.getType() == DataEvent.TYPE_DELETED

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