我正在使用这段代码来检查Drive中是否存在文件:
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 :(得分:1)
查询返回0项有三个原因: