Android-谷歌硬盘SDK-完成事件
我是Android Google Drive SDK的新手,所以我已经实现了一个服务来接收完成事件,以便在上传文件后保存我在用户驱动器中创建的文件的Android-谷歌硬盘SDK-完成事件,android,events,google-drive-api,Android,Events,Google Drive Api,我是Android Google Drive SDK的新手,所以我已经实现了一个服务来接收完成事件,以便在上传文件后保存我在用户驱动器中创建的文件的DriveId 这是我用来上传文件的代码,请注意,如果原始文件在被放入google drive sdk请求后被请求,我会删除它: ExecutionOptions executionOptions = new ExecutionOptions.Builder() .setNotifyOnCompletion(true)
DriveId
这是我用来上传文件的代码,请注意,如果原始文件在被放入google drive sdk请求后被请求,我会删除它:
ExecutionOptions executionOptions = new ExecutionOptions.Builder()
.setNotifyOnCompletion(true)
.setTrackingTag(documentFileId)
.build();
driveFileResult.getDriveFile()
.open(mGoogleApiClient, DriveFile.MODE_READ_WRITE, null)
.setResultCallback(result -> {
DriveContents driveContents = result.getDriveContents();
driveContents.commit(mGoogleApiClient, null, executionOptions)
.setResultCallback(status -> {
if (!status.isSuccess()) {
// handle bad status
return;
}
// Once the file has been passed to google drive it should be deleted
// if the delete extra parameter was passed
if (isFileDeletable && file != null) {
if (file.exists()) file.delete();
}
hideNotification();
});
});
这里是完成事件的服务代码
public class UploadCompletionService extends DriveEventService {
@Override
public void onCompletion(CompletionEvent completionEvent) {
String driveId = completionEvent.getDriveId().getResourceId();
// THE LOGIC GOES HERE
completionEvent.dismiss();
}
}
所以问题是频率,我上传一个文件,然后立即得到事件,然后我创建第二个文件,事件需要更长的时间来检索成功,然后两个或更多的文件之后,事件不再被调用
我想知道问题是否与从驱动器内容中获取结果回调时删除文件有关,或者是否有必要确保关闭或释放计数中没有的资源,或者在获得完成事件之前删除本地文件不是一个好主意。我做错了什么
提前感谢。请仔细检查您的代码是如何工作的,特别是您的代码必须如何按照要求运行。在关于处理文件内容的文档中,讨论了如何读取文件、如何从输入流中读取文件以及关闭文件内容。检查如何关闭文件内容;使用完文件内容后,正确关闭文件内容,以释放相关资源。希望这有帮助!我想我已经尝试了那里的一切,尽管我不确定现在发生了什么。我已经使用Api一周了,所以在学习到个人设备Play Store服务崩溃时犯了很多错误。我必须恢复默认值,然后一切正常。这个应用程序又正常工作了,所以我想它已经修复了。我不确定它是否是真的固定的,这就是我还没有结束这个问题的原因,因为可能有一些我仍然忽略的东西。无论如何,谢谢你的建议。我目前也在做这件事,结果好坏参半——有时我会得到一个即时完成事件,而其他人则一无所获。对我来说,这需要完美的工作,每一次不是间歇性的,所以我会让你知道我的发现!试着仔细检查代码是如何工作的,特别是您的代码的行为必须符合。在关于处理文件内容的文档中,讨论了如何读取文件、如何从输入流中读取文件以及关闭文件内容。检查如何关闭文件内容;使用完文件内容后,正确关闭文件内容,以释放相关资源。希望这有帮助!我想我已经尝试了那里的一切,尽管我不确定现在发生了什么。我已经使用Api一周了,所以在学习到个人设备Play Store服务崩溃时犯了很多错误。我必须恢复默认值,然后一切正常。这个应用程序又正常工作了,所以我想它已经修复了。我不确定它是否是真的固定的,这就是我还没有结束这个问题的原因,因为可能有一些我仍然忽略的东西。无论如何,谢谢你的建议。我目前也在做这件事,结果好坏参半——有时我会得到一个即时完成事件,而其他人则一无所获。对我来说,这需要完美的工作,每一次不是间歇性的,所以我会让你知道我的发现!