5

Drive API の使用例https://developers.google.com/drive/quickstart-androidがあります。うまく動作しますが、バックグラウンド サービスから GDrive へのファイルのアップロードを実装しようとすると、問題が発生します。

私が見つけたすべての例では、受け取ったときにUserRecoverableAuthException、その例外 ( ) からのインテントを使用して新しいアクティビティを開始UserRecoverableAuthException#getIntent()し、ユーザーを OAuth2 許可ページに移動する必要があります。

Activity からこれを行う場合は、 を使用するだけstartActivityForResultで、その結果、 を使用onActivityResultして、ユーザーが対話を終了したことを知ることができ、再試行できます。

ただし、Service から Drive API を操作したい場合、ユーザーの操作が必要な場合は、PendingIntent を使用してユーザーに通知を提供することしかできません。また、ユーザーがいつ OAuth2 アクセス許可ページを閉じたかを知るためのコールバックはありません。

これに対するアプローチを提案してもらえますか?多分私は何かを逃しますか?たぶん、私がキャッチしなければならない放送などがありますか?

ありがとうございました。

4

1 に答える 1

-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
  }
}
于 2013-05-02T10:34:50.250 に答える