2013-12-10 3 views
0

В Android, как узнать, настроено ли устройство для отправки и получения электронной почты с помощью Gmail.Как определить, зарегистрирован ли пользователь в Gmail

Устройство, настроенное так, принимает сообщения Gmail в лотке уведомлений и будет видеть, что Gmail указан как синхронизированный элемент на экране Настройки/Учетные записи/Google. Я ищу программный способ доступа к этой булевой части информации.

ответ

1

Я получил некоторую помощь от этого сообщения SO: What features are supported by Android's Google accounts authenticator?.

Так что я использовал это волшебное колдовство и, кажется, работают:

AccountManager.getAccountsByTypeAndFeatures("com.google", new String[]{"service_mail"}, ...); 

Если результирующий массив имеет ненулевую длину, то пользователь вошел в системе Gmail.

1

Попробуйте это:

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

он будет работать только для учетных записей Google. Вы можете использовать getAccounts() вместо getAccountsByType(), теперь accounts будет списком всех учетных записей синхронизации. Вы можете легко извлечь нужную учетную запись, используя accounts.name и accounts.type

+1

Спасибо, это получает многое из того, что мне нужно, но, к сожалению, имя Account.name и Account.type фактически не говорят мне, настроено ли устройство специально для Gmail. Для этой информации, похоже, нужно запросить «функцию» (см. Другой ответ на эту запись для получения дополнительной информации). –

1

Вы можете использовать вопрос, заданный here использование AccountManager.getAccounts или AccountManager.getAccountsByType, чтобы получить список всех имен учетных записей на устройстве. К счастью, для определенных типов счетов (включая com.google) и обратитесь к this link too

+0

Спасибо, это получает многое из того, что мне нужно, но, к сожалению, объект Account на самом деле не говорит мне, настроено ли устройство специально для Gmail. Для этой информации, похоже, нужно запросить «функцию» (см. Другой ответ на эту запись для получения дополнительной информации). –

Смежные вопросы