2016-08-26 3 views
0

При регистрации GCM Android-устройство требуется учетная запись google. В настоящее время я использую намерение выбора учетных записей для выбора учетной записи google у пользователей при регистрации GCM. Если у пользователей несколько учетных записей, он попросит пользователей выбрать учетную запись для успешного завершения регистрации GCM.Как использовать учетную запись google по умолчанию для регистрации GCM без выбора учетной записи или любого пользовательского взаимодействия android

Итак, есть ли возможность автоматически выбрать учетную запись по умолчанию, не указав намерение выбора учетной записи или любые варианты выбора с пользовательской стороны вручную?

+0

Вам не нужно Google аккаунт, чтобы зарегистрироваться для GCM. Вам необходимо правильно настроить 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:

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 без каких-либо Всплывающее окно «Выбор учетной записи» или любое другое взаимодействие/выбор пользователя.

Кроме того, вам нужно добавить это в вашем файле манифеста:

<uses-permission android:name="android.permission.GET_ACCOUNTS" />