3

C2DMの登録により、ACCOUNT_MISSINGというエラーが発生することがあります。ドキュメントによれば、このエラーは、「アプリケーションは、アカウントマネージャを開いてGoogleアカウントを追加するようユーザーに依頼する必要があります。AndroidでC2DMエラーACCOUNT_MISSINGを処理する

私は、この可能性をアプリケーションから提供したいと考えています。この私はいくつかのEXTRA_AUTHORITIES(「com.google」、「com.google.android.gsf、など)を試してみました溶液と、のどれため

//Intent 
context.startActivity(newIntent(Settings.ACTION_ADD_ACCOUNT).putExtra(Settings.EXTRA_AUTHORITIES, new String[] {?})); 

問題:私は、この画面を表示する2つの方法を見てきました彼らは何も表示され、パラメータEXTRA_AUTHORITIESは、すべての電話アカウントを省略している場合が図示されている。

//Account manager  
AccountManager.get(context).addAccount("com.google", null, null, null, this, new AccountManagerCallback<Bundle>() { 
public void run(AccountManagerFuture<Bundle> accountManagerHandle) { 
      //TODO Handle response. 
     } 
    }, null); 
} 

このソリューションの問題は、それが許可MANAGE_ACCOUNTSを必要とすることで、ユーザーはおそらくちょうど余分な許可を受け入れたくありませんそのために

どのようにあなたはこの状況に対処していますか?

+1

私は:。ずっと私はandroid.provider.Gmailソースコードに定数を見つけグーグル後

GoogleアカウントのEXTRA_AUTHORITIESの値を見つけられていないようですが、プッシュのエラー処理をユーザーフレンドリーにするためのヒントはありません。 –

答えて

1

[EXTRA_ AUTHORITIES]フィールドでは、「gmail-ls」を使用してGoogleアカウントセレクタのみを表示できます。

public static final String AUTHORITY = "gmail-ls" 

それが少し壊れやすい:-(だ回避策ように、このクラスは、公開APIの一部ではない

+0

より良いリンク:http:// www.androidjavadoc.com/m3-rc37a/constant-values.html#android.provider.Gmail.AUTHORITY – tonys

+0

1つの小さな注意点は、ユーザーがgmailアプリを無効にすると機能しないことです – Kazuki

関連する問題