是否可以获取在Android设备中使用PlayStore应用配置的电子邮件ID / ID。
Pattern emailPattern = Patterns.EMAIL_ADDRESS;
Account[] accounts = AccountManager.get(getActivity()).getAccounts();
for (Account account : accounts) {
if (emailPattern.matcher(account.name).matches()) {
primaryEmailID = account.name;
}
}
通过使用此代码,我获得了在设备中配置的所有电子邮件ID集,即gmail,yahoo等。 但是我怎样才能获得只有gmail帐户的电子邮件ID(我猜gmail帐户中的电子邮件ID在playstore中配置)。
答案 0 :(得分:2)
public String getMailId() {
String strGmail = null;
try {
Account[] accounts = AccountManager.get(this).getAccounts();
Log.e("PIKLOG", "Size: " + accounts.length);
for (Account account : accounts) {
String possibleEmail = account.name;
String type = account.type;
if (type.equals("com.google")) {
strGmail = possibleEmail;
Log.e("PIKLOG", "Emails: " + strGmail);
break;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return strGmail;
}
答案 1 :(得分:1)
如果您只想访问Google帐户,请尝试使用:
AccountManager.get(getActivity()).getAccountsByType("com.google")
答案 2 :(得分:0)
Account[] accounts=AccountManager.getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);