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 に答える