如何获取设备用户的电子邮件地址?

您能帮我这个守则吗?它应该从当前的Android设备获取电子邮件地址,但每次都返回null。我有试过这个,但每次仍然得到空


 public String getUsername() {

    Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+

    Account[] accounts = AccountManager.get(getApplicationContext()).getAccounts();

    for (Account account : accounts) {

        if (emailPattern.matcher(account.name).matches()) {

            String possibleEmail = account.name;

            return possibleEmail;

        }

    }

    return null;

}

这是我的清单文件:


<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.INTERNET" />

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


<application

    android:allowBackup="true"

    android:icon="@mipmap/ic_launcher"

    android:label="Upload FTP"

    android:roundIcon="@mipmap/ic_launcher_round"

    android:supportsRtl="true"

    android:theme="@style/AppTheme">

    <activity android:name=".MainActivity">

        <intent-filter>

            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />

        </intent-filter>

    </activity>

</application>


白猪掌柜的
浏览 153回答 2
2回答

繁华开满天机

无需以任何方式使用户的电子邮件地址对其他应用程序可见。当然,不要求用户拥有一个帐户,AccountManager其帐户名是电子邮件地址,并且是用户积极使用的电子邮件地址。例如,仅因为用户在设备上设置了Google帐户并不意味着该用户使用与该帐户相关联的Gmail。如果您想要用户的电子邮件地址,请询问他们要使用什么。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java