代码之家  ›  专栏  ›  技术社区  ›  Seidr

以编程方式启动Android 2.2中的“添加帐户”活动

  •  10
  • Seidr  · 技术社区  · 15 年前

    在过去的几天里,我一直在尝试androidsdk,准备为商店编写一个应用程序,但是我遇到了一个小问题。

    我将要编写的应用程序要求用户有一个与手机相关联的Google帐户。检索和使用Auth令牌等不是问题,但是我希望能够通过菜单设置->帐户->添加帐户来显示用户正常达到的活动。

    现在通过实验,我已经能够使用下面的命令从shell启动这个活动。

    am start -n com.google.android.gsf/.login.AccountIntroActivity
    

    在JAVA中使用Intent类执行相同的操作时遇到问题。

    有没有人能先告诉我这是否可以通过JAVA实现,然后再告诉我如何实现?

    如果我必须满足同步设置屏幕,那么我会(这可以通过Settings.ACTION\u SYNC\u设置但是,如果能够直接将用户引导到所需的屏幕,那就太好了。

    5 回复  |  直到 6 年前
        1
  •  15
  •   mattlaabs    9 年前

    查看 ACTION_ADD_ACCOUNT

    startActivity(new Intent(Settings.ACTION_ADD_ACCOUNT));
    
        2
  •  3
  •   markjan    15 年前

    请尝试以下操作:

    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);
    }
    
        3
  •  2
  •   Sam    14 年前

    Android帐户管理器提供了一个API来添加帐户。(谷歌或其他帐户类型)

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

        4
  •  2
  •   SHADOW NET    10 年前

    以上问题的答案是在intent EXTRA data中提供额外的\帐户\类型。并将值设置为“谷歌公司“为了提醒活动:

    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); }
    
        5
  •  1
  •   bennemy    14 年前

        Intent intent = new Intent();
        intent.setClassName( "com.google.android.gsf", "com.google.android.gsf.login.AccountIntroActivity" );
        context.startActivity( intent );
    
        6
  •  1
  •   rumpel    6 年前

    最近的机器人使用 adb 你可以做:

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

    (您仍然需要选择您想要的帐户类型)