9

を呼び出すにもかかわらず、nullです。私は最近、Android 6.0デバイスに最新バージョンをインストールしましたが、奇妙なエラーが表示されました(4.2.2 & 5.1で完全に動作します)。GoogleAccountCredential名は、私は安全なバックエンドを使用してエンドポイントを作成したと私は(ソースドキュメント<a href="https://cloud.google.com/appengine/docs/java/endpoints/consume_android">here</a>)を構築していますアプリ3月以来、それを使用しているsetSelectedAccountName(アンドロイド6.0)

特定のエラーがある:

私は資格とエラーにトレース
IllegalArgumentException: the name must not be empty: null 

、あなたは以下のコードを見ることができます。 Android 6.0のアカウントは "[email protected]"ですが、文字列 'test'はnullになります。

GoogleAccountCredentialを変更6.0に関する具体的な何かがありますか?

public static GoogleAccountCredential getCredential(Context ctx) { 

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); 
    String account = prefs.getString(UserProfileHelper.PREF_USER_ACCOUNT, ""); 
    GoogleAccountCredential credential = GoogleAccountCredential.usingAudience(ctx, 
      "server:client_id:MY_ACCOUNT_NUMS.apps.googleusercontent.com") 
      .setSelectedAccountName(account); 


    String test = credential.getSelectedAccountName(); 
    return credential; 
} 

答えて

13

のAndroid 6.0マシュマロとはい、あなたは今、あなたがお問い合わせグループ

https://developer.android.com/guide/topics/security/permissions.html#normal-dangerous

でGET_ACCOUNTSの許可を必要とする資格情報を取得するためには、実行時 https://developer.android.com/training/permissions/index.html

で要求権限にする必要があります

あなたの活動/フラグメントでそれを要求し、あなたのアプリケーションに関係するすべてのUXを処理する必要があります。

+0

はすでにその権限が追加されました。 – easycheese

+0

あなたはそれをリクエストしているのか、それともあなたのマニフェストに入っていますか? – AndroidEnthusiast

+0

ああ、だめだ...それについて考えることさえしないで、糸くずがそれを捕まえるだろうと思うだろうか...それとも、より良いエラーが投げられるだろう。あなたはおそらく正しいですが、私はそれをテストします。マニフェストに追加 – easycheese

関連する問題

 関連する問題