我正在使用以下代码来获取 android 的主电子邮件 ID。
String possibleEmail = null;
Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+
Account[] accounts = AccountManager.get(getBaseContext()).getAccounts(); {
for (Account account : accounts) {
if (emailPattern.matcher(account.name).matches()) {
possibleEmail = account.name;
}
}
final TextView user = (TextView)findViewById(R.id.username);
user.setText(possibleEmail);}
}
此代码的问题是当用户在其设备上添加新的电子邮件帐户时,它会返回不同的电子邮件 ID。例如。在安装应用程序时在我的设备中。只有一个电子邮件帐户是用于 Play 商店的主要 gmail 帐户。但是当我添加另一个活动同步电子邮件 ID 时,此代码返回第二个 ID。我只想捕获他们的 android 市场 ID。为什么我对此特别感兴趣,因为我已经在我的 mysql 数据库中注册了这些电子邮件 ID。只有我公司的员工才能使用这个应用程序,而且他们从 android 设备访问时不需要身份验证(注册的 gmail id)