假设我的手机上有活动,它的任务是将一个整数(用户输入的)发送到服装中。
在我的电话活动中,我做了一个
Wearable.DataApi.putDataItem(mGoogleApiClient, request);
这就是我的活动。在我的服装服务中,我实现了这个
public void onDataChanged(DataEventBuffer dataEvents) {}
在我的onDataChanged中,我将收到的值保存在共享首选项中,以便在我打开它时在我的活动中使用该值。
我的问题是,当用户打开磨损活动时,我怎么能确定我已收到我的价值? Google表示,当数据发生变化时会调用onDataChanged,但我尝试更改整数几次,没有运气,服务也没有收到任何内容。
如果我没有收到任何内容,我可以从我的活动中重新启动/启动接收我的数据项的过程吗?
答案 0 :(得分:1)
原因是 - 据我所知 - 当onDataChanged第一次调用时,其他时候需要更改才能再次调用。它甚至可以删除并创建新文件/流/请求,并将其置于数据层或断开连接并连接GoogleApiClient。这样客户端每次都会将数据理解为新的和更改的数据。
我使用的应用程序在某些时候会从手表向手机发送数据,我每次都会删除并创建新文件。
答案 1 :(得分:0)
onDataChanged()之后我强迫
mGoogleApiClient.disconnect();
mGoogleApiClient.connect();
只有这些设置onDataChanged()对我有用。