简体   繁体   中英

how to open "Add a Google Account" activity using intent?

My question is how to open "Add a Google Account" activity using intent without using AccountManager which requires the following permission:

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

I mean find a way to go around the following solution:

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

I'll provide the solution for anyone out there searching for the solve this issue.

the answer for the above question by providing EXTRA_ACCOUNT_TYPES in the intent extra data. and set the value to "com.google" in order to alert the activity:

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); 
}

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

adb shell am start -a "android.settings.ADD_ACCOUNT_SETTINGS" --esa "account_types" "com.google"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM