我正在使用Google Drive api构建应用程序。但卸载应用程序后,app文件夹无法正常工作。这是我一直想做的事情:
public searchFiles(){
GoogleApiClient googleApiClient = getGoogleApiClient();
Drive.DriveApi.getAppFolder(googleApiClient).listChildren(googleApiClient)
.setResultCallback(metadataBufferCallback);
}
private final ResultCallback<DriveApi.MetadataBufferResult> metadataBufferCallback = new
ResultCallback<DriveApi.MetadataBufferResult>() {
@Override
public void onResult(DriveApi.MetadataBufferResult result) {
if (!result.getStatus().isSuccess()) {
// Error
return;
}
MetadataBuffer metadataBuffer = result.getMetadataBuffer();
DriveId driveId = null;
if(metadataBuffer.getCount() > 0){
Metadata metadata = metadataBuffer.get(0);
driveId = metadata.getDriveId();
}
metadataBuffer.close();
if(driveId != null){
// success
}
else{
// omg, why?
}
}
};
我还没有使用过滤器,我只有一个文件。如果我将getAppFolder
替换为getRootFolder
,则可以正常使用。
它也可以在缓存时运行,但是一旦我卸载应用程序metadataBuffer.getCount()
总是返回0
,即使在驱动器中也是如此,它说我有23个字节的隐藏数据。 / p>
我在这里缺少什么?
*我在权限中询问用户SCOPE_APPFOLDER
。我正在运行该应用程序的签名版本。