這是基於事件的代碼Android可穿戴設備:如何使用DataApi獲取當前變量?
Wearable.DataApi.addListener(googleApiClient, new DataApi.DataListener() {
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
Log.i(tag, "on data changed " + dataEvents.toString());
for (DataEvent event : dataEvents) {
DataItem item = event.getDataItem();
String path = item.getUri().getPath();
if (path.equals(PATH_MAP)) {
DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap();
String dataValue = dataMap.getString(KEY_DATA);
}
}
}
}).setResultCallback(new ResultCallbacks<Status>() {
@Override
public void onSuccess(@NonNull Status status) {
Log.i(tag, "success");
}
@Override
public void onFailure(@NonNull Status status) {
Log.i(tag, "failure");
}
});
如何閱讀dataValue
關聯KEY_DATA
不使用監聽器模式?我需要這樣做,因爲即使設置了緊急模式,有時節點也不會同步。特別是onDataChanged回調只有在值發生變化時才被調用。
這是一個場景:已經安裝了手機apk,在啓動時它會在KEY_DATA
項上寫入一個值。在穿戴apk安裝之後,我將偵聽器設置爲接收此值,但未調用數據更改事件,所以我需要一種方法以顯式輪詢獲取當前值。
我知道還有MessageApi,但問題是一樣的,如果一個設備不在線,則消息丟失。
我有一個地圖路徑,而不是項目 – user3290180
我應該如何獲得我的KEY_DATA值? – user3290180