7

我的问题是如何在不使用需要以下权限的 AccountManager 的情况下使用意图打开“添加 Google 帐户”活动:

<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />

我的意思是找到解决以下解决方案的方法:

AccountManager accountMgr = AccountManager.get(context);
accountMgr.addAccount("com.google", "ah", null, new Bundle(), context, null, null);

我将为在那里寻找解决此问题的任何人提供解决方案。

4

2 回答 2

17

通过在意图额外数据中提供EXTRA_ACCOUNT_TYPES来回答上述问题。并将值设置为“com.google”以提醒活动:

public static void startAddGoogleAccountIntent(Context context)
{
    Intent addAccountIntent = new Intent(android.provider.Settings.ACTION_ADD_ACCOUNT)
    .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    addAccountIntent.putExtra(Settings.EXTRA_ACCOUNT_TYPES, new String[] {"com.google"});
    context.startActivity(addAccountIntent); 
}
于 2013-11-05T17:14:21.013 回答
1

如果您正在寻找 adb 解决方案,这里是:

adb shell am start -a "android.settings.ADD_ACCOUNT_SETTINGS" --esa "account_types" "com.google"
于 2021-01-13T15:14:57.803 回答