使用后台服务中的Android Drive API

Den*_*nys 5 android google-api-java-client google-drive-api

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

在我发现的所有示例中,如果我们收到,UserRecoverableAuthException我们需要使用来自该Exception(UserRecoverableAuthException#getIntent())的Intent启动新的Activity,以将用户带到OAuth2权限页面.

当我们从Activity执行此操作时,我们只是使用startActivityForResult,结果我们可以使用onActivityResult知道用户完成了他的交互,我们可以重试.

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

你能建议任何方法吗?也许我想念一些东西?也许有一些我必须要播放的广播等等?

谢谢.

Bur*_*gan -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
  }
}
Run Code Online (Sandbox Code Playgroud)