Я только что сделал быстрый поиск в Google и наткнулся на это на этом сайте здесь .
Вы можете использовать AccountManager.getAccounts
или AccountManager.getAccountsByType
, чтобы получить список всех имен учетных записей наУстройство.К счастью, для определенных типов учетных записей (включая com.google
), имена учетных записей являются адресами электронной почты.Пример фрагмента ниже.
Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+ Account[] accounts = AccountManager.get(context).getAccounts(); for (Account account : accounts) {
if (emailPattern.matcher(account.name).matches()) {
String possibleEmail = account.name;
...
} }
Обратите внимание, что для этого требуется разрешение GET_ACCOUNTS
:
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
Подробнее об использовании AccountManager
можно найти в Contact Manager образец кода в SDK.