我正在尝试将一些文件备份到zip文件中,然后使用Google Drive Android API(GDAA)将其上传到Google云端硬盘。一切正常,直到我应该收到CompletionEvent上传的部分。 这就是我到目前为止......
我以这种方式创建了DriveContents:
Drive.DriveApi.newDriveContents(mGAPIClient)
.setResultCallback...
我使用输入/输出流来创建我要上传的文件的zip文件。然后我创建一个ExecutionOptions对象,要求通知上传完成情况:
ExecutionOptions executionOptions = new ExecutionOptions.Builder()
.setNotifyOnCompletion(true)
.build();
然后我以这种方式在Google云端硬盘的AppFolder中创建文件(使用DriveContents和创建的ExecutionOptions):
Drive.DriveApi.getAppFolder(mGAPIClient).createFile(mGAPIClient, metadataChangeSet, mDContents, executionOptions)
.setResultCallback...
这是我的DriveEventService子类,它应该负责接收CompletionEvent:
public class MeuDriveEventService extends DriveEventService {
@Override
public void onCompletion(CompletionEvent completionEvent) {
super.onCompletion(completionEvent);
Log.d("GAPI", "status do com.example.android.QsApp.MeuDriveEventService: " + completionEvent.getStatus());
completionEvent.dismiss();
}
}
...并在我的清单中声明:
<service
android:name="com.example.android.QsApp.MeuDriveEventService"
android:exported="true">
<intent-filter>
<action android:name="com.google.android.gms.drive.events.HANDLE_EVENT"/>
</intent-filter>
</service>
zip文件 正在本地创建和成功上传(我多次检查过),我只是没有得到CompletionEvent。我是否错过了我的清单或其他内容的许可?我在这里俯瞰什么?
答案 0 :(得分:0)
我再一次决定重建项目,重新启动设备,在console.developers.google.com上重新创建凭据,等待30分钟并再试一次。这次它奏效了(尽管我不知道为什么)。
我会留下这个,以防其他人体验到这一点。再次感谢@Cheticamp帮助像我这样的初学者。