gpt4 book ai didi

Android Drive API - 检查文件是否存在总是表示不存在

转载 作者:行者123 更新时间:2023-11-30 01:15:52 24 4
gpt4 key购买 nike

我正在使用这段代码来检查文件是否存在于云端硬盘中:

Query query = new Query.Builder()
.addFilter(Filters.eq(SearchableField.TITLE, "tmp.txt"))
.build();
new MyAsyncTask().execute(query);

class MyAsyncTask extends AsyncTask<Query, Void, MetadataBufferResult>{
@Override
protected MetadataBufferResult doInBackground(Query... params) {
return Drive.DriveApi.query(getGoogleApiClient(), params[0]).await();
}

@Override
protected void onPostExecute(MetadataBufferResult metadataBufferResult) {
if(metadataBufferResult.getMetadataBuffer().getCount()==0)
showMessage("File does not exist");
else
showMessage("File exists");
}
}

我的逻辑基本上是用一个Query来过滤掉所有名为“tmp.txt”的文件,然后检查这样返回的MetaDataBuffer的计数是否不为0。但是,无论文件是否存在,计数都是始终为 0,消息显示为“文件不存在”。我在这里错过了什么?我正在使用来自 Android 提供的 android-demo-master 的 QueryFilesActivity 的修改版本。

最佳答案

查询返回 0 项的原因有 3 个:

  1. 该项目不存在。
  2. 该项目存在,但您的应用无权访问该项目。
  3. 该项目存在(在服务器上),您的应用可以访问该项目,但该项目未在本地同步(设备处于离线状态,或缓存不是最新的)。在这种特殊情况下,您可以调用 requestSync确保本地缓存更新并再次查询的方法。

关于Android Drive API - 检查文件是否存在总是表示不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37874535/

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