使用后台服务中的Android Drive API

时间:2013-04-20 19:05:09

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

有一个如何使用Drive API https://developers.google.com/drive/quickstart-android的示例。它运行良好,但我在尝试从后台服务实现上传文件到GDrive时遇到了一些麻烦。

在我找到的所有示例中,如果我们收到UserRecoverableAuthException,我们需要使用该异常(UserRecoverableAuthException#getIntent())中的Intent启动新的Activity,以将用户带到OAuth2权限页面。

当我们从Activity执行此操作时,我们只使用startActivityForResult,因此我们可以使用onActivityResult来了解用户完成了他的互动,我们可以重试。

但是如果我想从Service使用Drive API,并且需要用户交互,我所能做的就是向PendingIntent的用户提供通知。当用户关闭OAuth2权限页面时,我无法回复任何回调。

您能否建议采取任何措施?也许我想念一些东西?也许有一些我必须要播放的广播等等?

谢谢。

1 个答案:

答案 0 :(得分:-2)

从通知中启动活动,您将在其中处理权限活动的活动结果。处理结果并选择性地完成活动。

@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
  if (resultCode == Activity.RESULT_OK) {
    // permission is given
    finish();
  } else {
    or show error
  }
}