2011-06-08 20 views
2

私はgetAuthToken()を使ってトークンを取得してから、Google App Engineアプリケーションにログインします。Android getAuthTokenがnullを返す

今日まで、私はなぜgetAuthToken()nullを返すのか分かりませんでした。

アカウントを確認しましたが問題ありません。だから私は何が起こっているのか想像できません。

private class GetAuthTokenTask extends AsyncTask<Account, Object, String> { 
     String TAG="GetAuthTokenTask"; 
     @Override 
     protected String doInBackground(Account... accounts) { 
      AccountManager manager = AccountManager.get(getApplicationContext()); 
      Account account = accounts[0]; 
      String token = this.buildToken(manager, account); 
      manager.invalidateAuthToken(account.type, token); 
      return this.buildToken(manager, account); 
     } 

     private String buildToken(AccountManager manager, Account account) { 
      try { 

       AccountManagerFuture<Bundle> future = manager.getAuthToken (account, "ah", false, null, null); 
       Bundle bundle = future.getResult(); 
       System.out.println("Token: "+bundle.getString(AccountManager.KEY_AUTHTOKEN) +"\n"); 
       return bundle.getString(AccountManager.KEY_AUTHTOKEN); 
      } catch (OperationCanceledException e) { 
        Log.w(TAG, e.getMessage()); 
      } catch (AuthenticatorException e) { 
        Log.w(TAG, e.getMessage()); 
      } catch (IOException e) { 
        Log.w(TAG, e.getMessage()); 
      } 
      return null; 
     } 

     protected void onPostExecute(String authToken) { 
      //Log.i("onPostExecute","GetCookieTask"); 
      new GetCookieTask().execute(authToken);  
     } 
    } 

編集

私は解決策自分自身が見つかりました:それが求めてステータスバーに警告が表示されますので、私は、trueに三番目のパラメータを変更しgetAuthToken()メソッドでは

を許可。私はアプリケーションをインストールした直後のように、なぜAndroidが以前に尋ねなかったのか分かりません。

+5

編集するのではなく、自分の質問への回答としてコメントを追加する必要があります。 –

答えて

1

の方法は、であり、非推奨のです。

getAuthToken(Account, String, Bundle, Activity, AccountManagerCallback<Bundle>, Handler)またはgetAuthToken(Account, String, Bundle, boolean, AccountManagerCallback<Bundle>, Handler)を代わりに使用してください。

最初は私のために働いています。質問の編集からコピー

Android Documentation

0

:それは中に警告が表示されますので、私は、trueに三番目のパラメータを変更しgetAuthToken()メソッドでは

私は解決策自分自身を発見しました許可を求めるステータスバー。私はアプリケーションをインストールした直後のように、なぜAndroidが以前に尋ねなかったのか分かりません。

関連する問題