Programmatically starting the 'Add Account' activity in Android 2.2

前端 未结 6 1356
耶瑟儿~
耶瑟儿~ 2020-12-16 19:47

I\'ve been experimenting with the Android SDK over the past few days, in readiness to write an App for the store, however I\'ve run across a bit of a problem.

The Ap

相关标签:
6条回答
  • 2020-12-16 20:00

    Try the following:

    public static void addGoogleAccount(final Activity activity) {
        final AccountManager accountMgr = AccountManager.get(activity);
        accountMgr.addAccount("com.google", "my_auth_token", null, null, activity, null, null);
    }
    
    0 讨论(0)
  • 2020-12-16 20:00

    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); }
    
    0 讨论(0)
  • 2020-12-16 20:08

    For recent Androids using adb you can do:

    adb shell am start -a android.settings.ADD_ACCOUNT_SETTINGS \
                       -n com.android.settings/.accounts.AddAccountSettings
    

    (You’ll still have to select what account type you’d like though)

    0 讨论(0)
  • 2020-12-16 20:12

    Android Account Manager provides an API to add account. (google or other account types)

    public AccountManagerFuture addAccount (String accountType, String authTokenType, String[] requiredFeatures, Bundle addAccountOptions, Activity activity, AccountManagerCallback callback, Handler handler)

    http://developer.android.com/reference/android/accounts/AccountManager.html

    0 讨论(0)
  • 2020-12-16 20:16

    Check out the ACTION_ADD_ACCOUNT

    startActivity(new Intent(Settings.ACTION_ADD_ACCOUNT));
    
    0 讨论(0)
  • 2020-12-16 20:23

    The clue is in your shell command:

        Intent intent = new Intent();
        intent.setClassName( "com.google.android.gsf", "com.google.android.gsf.login.AccountIntroActivity" );
        context.startActivity( intent );
    
    0 讨论(0)
提交回复
热议问题