2011-07-29 9 views
2

私は、ユーザーにGoogleアカウントを関連付けるように依頼しているアプリケーションを作成しています。そのため、さまざまなデバイスにアプリをインストールする間にサーバーサイドのデータを自動同期できます。存在しない場合は、アンドロイドデバイスにGoogleアカウントを追加するようユーザーに依頼します。

私はすでに利用可能なユーザーアカウントのリストを引っ張って

AccountManager accountManager = AccountManager.get(mContext); 
Account[] accounts = accountManager.getAccountsByType("com.google"); 

を使用しています。そのような場合は1つしか使用せず、2つ以上のアカウントの場合は、ユーザーにアプリケーションと関連付けるアカウントを選択するよう依頼します。私が今問題を抱えているのは、デバイスにGoogleアカウントがないというシナリオです。私は現在この使用しています

context.startActivity(new Intent(android.provider.Settings.ACTION_ADD_ACCOUNT)); 

強制的にアカウントの追加ダイアログ。問題は、ユーザーに追加するアカウントの種類のオプションを提供することであり、Googleアカウントの追加オプションにそれらを強制するだけで、混乱を避けたいと考えています。これを行う方法はありますか?

答えて

5

何かがそれを行う必要があります。

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

は「ああ」認証トークンタイプです。

+0

あなたは自分の質問に答えるために私を打つ。 – AWinter

+0

haha​​ oops申し訳ありません。受け入れてくれてありがとう! –

+0

"GET_ACCOUNTS"の権限を使わずに、現在のアプリケーションのアカウントが作成される前に存在するかどうか確認できますか? –

1

私は全くわからないけど。一番下に http://www.thialfihar.org/projects/android_add_account/

私は、これはあなたが探しているものであれば非常によく分からないカントーのGoogleアカウントを追加するコードスニペットは、あります。このような

+0

リンク上のコードはうまくいかなかったが、正しい方向にポインタを置いてくれた。私はあなたにそれのために投票を行い、私が見つけた答えを加えます。 – AWinter

+0

大丈夫、うまくいけばそれはあなたのために働くだろう;) – Androider

5

これは以前の質問ですが、Androidは代替ソリューションを提供しています。

AccountManager.addAccount()を使用するには、MANAGE_ACCOUNTSの許可が必要です。私は、あなたがその許可を見たときにユーザーがあなたのアプリをボークすることを発見しました。私はたとえSettings.EXTRA_ACCOUNT_TYPESが追加されたことを発見した

Intent intent = new Intent(Settings.ACTION_ADD_ACCOUNT); 
intent.putExtra(Settings.EXTRA_ACCOUNT_TYPES, new String[] {"com.google"}); 
startActivity(intent); 

それは18 API: http://developer.android.com/reference/android/provider/Settings.html#EXTRA_ACCOUNT_TYPES

これは、追加のGoogleアカウントの流れを起動:あなたは余分なAPI 18で追加Settings.EXTRA_ACCOUNT_TYPESを使用する場合は、MANAGE_ACCOUNTSを必要避けることができますICS以降のすべてのデバイスで動作するようです。残念ながら、それはジンジャーブレッドで動作しませんでした。私はAPI 18より前に動作することが信頼できるかどうかはわかりませんが、これまでのところ成功しています。

+1

私は、Googleアカウントの追加ダイアログを呼び出すのが最も正しい方法だと思います。 – Nik

+0

完璧に動作します。ありがとう!! – FedeAmura

関連する問題