如何确保调用onDataChanged?该怎么办呢?

时间:2015-01-19 09:55:41

标签: android wear-os

假设我的手机上有活动,它的任务是将一个整数(用户输入的)发送到服装中。

在我的电话活动中,我做了一个

Wearable.DataApi.putDataItem(mGoogleApiClient, request);

这就是我的活动。在我的服装服务中,我实现了这个

public void onDataChanged(DataEventBuffer dataEvents) {}

在我的onDataChanged中,我将收到的值保存在共享首选项中,以便在我打开它时在我的活动中使用该值。

我的问题是,当用户打开磨损活动时,我怎么能确定我已收到我的价值? Google表示,当数据发生变化时会调用onDataChanged,但我尝试更改整数几次,没有运气,服务也没有收到任何内容。

如果我没有收到任何内容,我可以从我的活动中重新启动/启动接收我的数据项的过程吗?

2 个答案:

答案 0 :(得分:1)

原因是 - 据我所知 - 当onDataChanged第一次调用时,其他时候需要更改才能再次调用。它甚至可以删除并创建新文件/流/请求,并将其置于数据层或断开连接并连接GoogleApiClient。这样客户端每次都会将数据理解为新的和更改的数据。

我使用的应用程序在某些时候会从手表向手机发送数据,我每次都会删除并创建新文件。

答案 1 :(得分:0)

onDataChanged()之后我强迫

mGoogleApiClient.disconnect();
mGoogleApiClient.connect();

只有这些设置onDataChanged()对我有用。