如何知道在特定设备上注册了哪个Gmail ID?

Cau*_*ues 0 email android

朋友我正在制作一个安全应用程序,当用户点击忘记密码并且我想将他的密码发送到与Google Play帐户相关联的G-mail帐户时.所以问题是,我怎么才能知道他的G-mail ID?

Tal*_*lha 5

您可以使用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;
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

需要GET_ACCOUNTS权限:

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

您也可以使用https://developers.google.com/gmail/android/上的代码