Android 如何知道哪个Gmail id是在特定设备上注册的?

Android 如何知道哪个Gmail id是在特定设备上注册的?,android,email,Android,Email,朋友们,我正在制作一个安全应用程序,当用户点击忘记密码时,我想将他的密码发送到与Google play帐户关联的G-mail帐户。所以问题是,如何知道他的G-mail ID?您可以使用AccountManager.getAccounts或AccountManager.getAccountsByType获取设备上所有帐户名的列表 Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+ Account[] accounts = A

朋友们,我正在制作一个安全应用程序,当用户点击忘记密码时,我想将他的密码发送到与Google play帐户关联的G-mail帐户。所以问题是,如何知道他的G-mail ID?

您可以使用AccountManager.getAccounts或AccountManager.getAccountsByType获取设备上所有帐户名的列表

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;
        ...
    }
}
需要“获取帐户”权限:

使用权限android:name=“android.permission.GET\u ACCOUNTS”/>


您还可以使用

处的代码。您可以使用AccountManager.getAccounts或AccountManager.getAccountsByType获取设备上所有帐户名的列表

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;
        ...
    }
}
需要“获取帐户”权限:

使用权限android:name=“android.permission.GET\u ACCOUNTS”/>


您也可以使用位于

的代码这里是获取与Google Play关联的G-mail帐户的代码片段

private String getEmailID() {
    AccountManager manager = (AccountManager) getSystemService(ACCOUNT_SERVICE);
    Account[] list = manager.getAccounts();
    String gmail = null;

    for (Account account : list) {
        if (account.type.equalsIgnoreCase("com.google")) {
            gmail = account.name;
            break;
        }
    }
    return gmail;
}
还要在AndroidManifest.xml中添加此权限

   <uses-permission android:name="android.permission.GET_ACCOUNTS" >

以下是获取与Google Play关联的G-mail帐户的代码片段

private String getEmailID() {
    AccountManager manager = (AccountManager) getSystemService(ACCOUNT_SERVICE);
    Account[] list = manager.getAccounts();
    String gmail = null;

    for (Account account : list) {
        if (account.type.equalsIgnoreCase("com.google")) {
            gmail = account.name;
            break;
        }
    }
    return gmail;
}
还要在AndroidManifest.xml中添加此权限

   <uses-permission android:name="android.permission.GET_ACCOUNTS" >


当然,无法知道这是否与Play Store相关。此外,Play Store支持多个帐户,因此可能每个帐户都可以关联。获得第一个“com.google”帐户通常是最好的选择。好吧,伙计们……这个应用程序中有一个应用程序“Findroid”,当你设置密码时,你会收到一封注册在Play Store上的电子邮件。当然,没有办法知道这是否与Play Store相关。此外,Play Store支持多个帐户,因此可能每个帐户都可以关联。获得第一个“com.google”帐户通常是最好的选择。好吧,伙计们……这个应用程序中有一个市场应用程序“Findroid”。当你设置密码时,你会收到一封在Play Store上注册的电子邮件。