アカウントマネージャーによるGoogle認証プロセス:
メールIDはから取得できます
AccountManager accountManager = AccountManager.get(getApplicationContext());
Account[] accounts = accountManager.getAccountsByType("com.google");
String emailID = accounts[0].name; // you can retrieve using google account chooser way also
これらの行は、(UIスレッドではなく)別のトークンで実行する必要があります。
String scope = "oauth2:https://www.googleapis.com/auth/userinfo.profile https://gdata.youtube.com";
String accessToken = GoogleAuthUtil.getToken(mContext, emailID, scope);
accessTokenを保存し、APIアクセスに使用します。
1時間(つまり3600秒)後、アクセストークンを更新する必要があります。しかし現在、グーグルは1時間後のアクセスをサポートしていません。アプリケーションを再起動し、次の行を使用してアクセストークンを取得する必要があります。
String scope = "oauth2:https://www.googleapis.com/auth/userinfo.profile https://gdata.youtube.com";
String accessToken = GoogleAuthUtil.getToken(mContext, emailID, scope);
このバックグラウンドスレッドは、whileループで常にバックグラウンドで実行されます