10

ストア用のアプリを作成する準備を整えて、ここ数日 Android SDK を試してきましたが、ちょっとした問題に遭遇しました。

これから作成するアプリでは、ユーザーが電話に関連付けられた Google アカウントを持っている必要があります。認証トークンなどの取得と使用は問題ではありませんでしたが、[設定] -> [アカウント] -> [アカウントの追加] のメニューを使用して、ユーザーが通常到達するアクティビティを表示できるようにしたいと考えています。

実験の結果、次のコマンドを使用してシェルからこのアクティビティを起動できるようになりました。

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

Intent クラスを使用して Java で同じアクションを実行するのに問題があります。

これがJAVA経由でできるかどうか、そしてどうやってそれを行うことができるかを誰かに教えてもらえますか?

同期設定画面で解決する必要がある場合は、そうします (これは Settings.ACTION_SYNC_SETTINGS インテントを通じて実現できます) が、ユーザーを必要な画面に直接誘導できると非常に便利です。

4

6 に答える 6

15

ACTION_ADD_ACCOUNTを確認してください

startActivity(new Intent(Settings.ACTION_ADD_ACCOUNT));
于 2010-08-26T13:42:45.853 に答える
3

次のことを試してください。

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);
}
于 2010-11-08T15:10:27.850 に答える
2

Android Account Manager は、アカウントを追加するための API を提供します。(Google またはその他のアカウントの種類)

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

于 2011-11-03T22:02:06.067 に答える
1

手がかりはシェルコマンドにあります:

    Intent intent = new Intent();
    intent.setClassName( "com.google.android.gsf", "com.google.android.gsf.login.AccountIntroActivity" );
    context.startActivity( intent );
于 2011-08-01T12:03:07.850 に答える