gpt4 book ai didi

android - Wearable.DataApi.deleteDataItems 不工作

转载 作者:行者123 更新时间:2023-11-29 01:24:09 25 4
gpt4 key购买 nike

我将不胜感激任何见解,因为已经尝试了一切以使 deleteDataItems 工作但它没有。

我实现了一个非常简单的场景,即在我的主应用程序中创建新数据项 (ArrayList),然后使用数据 API 将其传递给可穿戴客户端。

下面是一些代码 fragment :

  public void SyncDataItemsMainApp()
{

if (mGoogleApiClient==null){mGoogleApiClient.connect();}

ArrayList<String> myList;
myList = new ArrayList<String>();

myList.add(new String(strValue)); // I add different set of values each time so it could be anything.

//For simplicity lets assume I add "Books" and "Pens"


PutDataMapRequest putDataMapReq = PutDataMapRequest.create("/mylistitem");
putDataMapReq.getDataMap().putLong(ACTION_TIME_STAMP, new Date().getTime());
putDataMapReq.getDataMap().putStringArrayList("com.myapp.example",myList);

PutDataRequest putDataReq = putDataMapReq.asPutDataRequest();
Wearable.DataApi.deleteDataItems(mGoogleApiClient,putDataMapReq.getUri()); //I use this line to delete DataItems which were created in the past as I do not want to store all variables on the cloud but only the current ones in myList
Wearable.DataApi.putDataItem(mGoogleApiClient, putDataReq);
}

这是可穿戴的OnDataChanged”

  @Override
public void onDataChanged(DataEventBuffer dataEvents)
{
// TODO Auto-generated method stub
for (DataEvent event : dataEvents)
{
// DataItem changed
DataItem item = event.getDataItem();

if (event.getType() == DataEvent.TYPE_CHANGED)
{

if (item.getUri().getPath().compareTo("/mylistitem") == 0)
{
DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap();


ArrayList<String> myListItems =dataMap.getStringArrayList("com.myapp.example");
populateWearableList(myListItems);
}
}
}
}

现在的问题是,每次我在可穿戴设备上解析 arrayList 时,它总是包含我在主应用程序中添加到数组中的所有值,正如我上面提到的,我只想存储最后一组包含在最后一次调用中的值。因此,似乎 DeleteDataItems 根本不起作用。有趣的是,在通过蓝牙模式进行调试时,我只能看到最后一组值,但是一旦我的应用程序和可穿戴设备连接到云,它就会创建具有相同值的其他实例,这非常令人困惑。

非常感谢您提供任何帮助,因为我将尝试使用 DataAPI 提供所有帮助。

最佳答案

我发现这是因为当应用程序处于后台模式时 DataApi Listener 没有停止。我不得不将所有 Data Api 调用放入一个单独的 WearableListenerService 中,一切都开始正常工作。我希望这会在文档中的某个地方被调用。

关于android - Wearable.DataApi.deleteDataItems 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35042942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com