获取使用PlayStore配置的设备的电子邮件ID

时间:2013-06-06 09:31:57

标签: android gmail google-play-services

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

3 个答案:

答案 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);