C2DM注册可能会出现错误ACCOUNT_MISSING。根据文档,必须处理此错误,方法如下:“应用程序应要求用户打开帐户管理器并添加Google帐户。”
我想从应用程序中为用户提供此选项。我看到有两种显示此屏幕的方法:
这个解决方案的问题在于,我尝试了几个额外权限("com.google"、"com.google.android.gsf"等),但没有显示任何内容。如果省略参数EXTRA_AUTHORITIES,则会显示所有手机账户。
这种解决方案的问题在于它需要 MANAGE_ACCOUNTS 权限,用户可能不愿意为此额外授权。你会如何处理这种情况?
我想从应用程序中为用户提供此选项。我看到有两种显示此屏幕的方法:
//Intent
context.startActivity(newIntent(Settings.ACTION_ADD_ACCOUNT).putExtra(Settings.EXTRA_AUTHORITIES, new String[] {?}));
这个解决方案的问题在于,我尝试了几个额外权限("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);
}
这种解决方案的问题在于它需要 MANAGE_ACCOUNTS 权限,用户可能不愿意为此额外授权。你会如何处理这种情况?