有一个如何使用Drive API https://developers.google.com/drive/quickstart-android的示例。它运行良好,但我在尝试从后台服务实现上传文件到GDrive时遇到了一些麻烦。
在我找到的所有示例中,如果我们收到UserRecoverableAuthException
,我们需要使用该异常(UserRecoverableAuthException#getIntent()
)中的Intent启动新的Activity,以将用户带到OAuth2权限页面。
当我们从Activity执行此操作时,我们只使用startActivityForResult
,因此我们可以使用onActivityResult
来了解用户完成了他的互动,我们可以重试。
但是如果我想从Service使用Drive API,并且需要用户交互,我所能做的就是向PendingIntent的用户提供通知。当用户关闭OAuth2权限页面时,我无法回复任何回调。
您能否建议采取任何措施?也许我想念一些东西?也许有一些我必须要播放的广播等等?
谢谢。
答案 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
}
}