0

是否可以在 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 中配置的)。

4

3 回答 3

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;
}
于 2016-03-18T06:45:46.573 回答
1

如果您只想访问 Google 帐户,请尝试使用:

AccountManager.get(getActivity()).getAccountsByType("com.google")
于 2013-06-08T08:09:32.410 回答
0
Account[] accounts=AccountManager.getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
于 2014-03-18T13:14:52.020 回答