如何在Android上设置Google云端硬盘访问超时

时间:2013-02-10 00:22:31

标签: android google-drive-api google-api-java-client

让我们列出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分钟超时,那么在用户请求中取消它的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

感谢您的反馈!

看起来没有办法在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项目的所有者