2016-08-26 6 views
0

GCMを初めて登録するときは、Android搭載端末でGoogleアカウントが必要です。現在、私はGCM登録時にユーザーからGoogleアカウントを選択するためのアカウントピッカーの意図を使用しています。ユーザーに複数のアカウントがある場合、GCM登録を正常に完了するためにアカウントを選択するようユーザーに求めます。デフォルトのGoogleアカウントを使用してアカウントピッカーオプションまたはユーザーインタラクションなしでGCMを登録する方法

アカウントのピッカーの意図やユーザー側からの選択オプションを手動で表示せずに自動的にデフォルトのアカウントを選択するオプションはありますか?

private String getPrimaryEmailID(Context context) { 
     AccountManager accountManager = AccountManager.get(context); 
     Account account = getAccount(accountManager); 

     if (account == null) { 
      return null; 
     } else { 
      return account.name; 
     } 
    } 

     private Account getAccount(AccountManager accountManager) { 
      Account[] accounts = accountManager.getAccountsByType("com.google"); 
      Account account; 
      if (accounts.length > 0) { 
       account = accounts[0]; 
      } else { 
       account = null; 
      } 
      return account; 
     } 

それはどんなことなく、ユーザのデフォルトのGoogleアカウントIDを与える:

+0

あなたはGCMに登録するには、Googleアカウントは必要ありません。 GCMをGoogleコンソールに正しく設定する必要があります。あなたはjson設定ファイルといくつかの追加実装が必要です。 – danypata

+0

@danypataこれまでFCMについて話していることを理解していますか?私はGCMを使用していますが、ユーザー登録時にはGoogleアカウントが必要です。 – 0xalihn

+0

いいえ、私はGCMについて話しています。デバイス上にGoogleアカウントは必要ありません。 https://developers.google.com/cloud-messaging/android/client – danypata

答えて

1

いくつかの時間を過ごした後、私は、デフォルトのGoogleアカウントのIDを取得するためのコードの下に使用して効率的な方法でこれを行うためのソリューションを発見しましたアカウントピッカーのインポントポップアップまたは他のユーザーの操作/選択。

はまた、あなたのマニフェストファイルでこれを追加する必要があります。

<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
関連する問題