註冊C2DM可能會導致錯誤ACCOUNT_MISSING。根據文檔,必須按照這種方式處理此錯誤:「應用程序應該要求用戶打開客戶經理並添加Google帳戶。」處理Android中的C2DM錯誤ACCOUNT_MISSING
我想從應用程序提供給用戶這種可能性。我已經看到了兩種方法來顯示此屏幕:
//Intent
context.startActivity(newIntent(Settings.ACTION_ADD_ACCOUNT).putExtra(Settings.EXTRA_AUTHORITIES, new String[] {?}));
該解決方案是,我已經嘗試了幾種EXTRA_AUTHORITIES(「com.google」,「com.google.android.gsf等)和無的問題他們展示什麼,如果省略該參數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);
}
該解決方案的問題是它需要的權限許可權,而用戶可能會不喜歡只接受一個額外的許可
How w你應該處理這種情況嗎?
我我們將使用基於AccountManager的方法,顯然沒有人沒有找到Google帳戶的EXTRA_AUTHORITIES值,但是Google沒有提供任何提示,使得他們的推送錯誤處理更加用戶友好。 –