让我们列出来自 Google 云端硬盘的文件:
GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(
context, DriveScopes.DRIVE);
Drive service = new Drive.Builder(AndroidHttp.newCompatibleTransport(),
new GsonFactory(), credential).build();
service.files().list().execute();
但是,例如,如果没有可用的网络连接,execute() 几乎永远都不会意识到。
从GoogleAccountCredential的源码可以看出,它使用了ExponentialBackOffPolicy,默认最大耗时为15分钟。
问题 1:有没有办法覆盖此行为并将超时限制设置为较低的值?
问题 2:service.files().list().execute() 在 AsyncTask 中运行。如果她不想等待 15 分钟超时,根据用户请求取消它的正确方法是什么?
最佳答案
感谢反馈!
似乎没有任何方法可以自定义 GoogleAccountCredential 的指数退避策略。我在这里提交了一个功能请求:
https://code.google.com/p/google-api-java-client/issues/detail?id=734
看起来也没有取消的好方法。此处提交的功能请求:
https://code.google.com/p/google-api-java-client/issues/detail?id=735
注意:我是 google-api-java-client 的所有者项目
关于android - 如何在 Android 上设置 Google Drive 访问超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14793218/