java - 如何获取 Android 用户的电子邮件地址?

标签 java android

我有 android.permission.READ_OWNER_DATA 但我找不到任何可靠的代码来解释如何读取设备所有者的电子邮件地址。我该怎么做?

最佳答案

你为什么要这么做?

import android.accounts.Account;
import android.accounts.AccountManager;
import android.content.Context;

/**
 * This class uses the AccountManager to get the primary email address of the
 * current user.
 */
public class UserEmailFetcher {

  static String getEmail(Context context) {
    AccountManager accountManager = AccountManager.get(context); 
    Account account = getAccount(accountManager);

    if (account == null) {
      return null;
    } else {
      return account.name;
    }
  }

  private static Account getAccount(AccountManager accountManager) {
    Account[] accounts = accountManager.getAccountsByType("com.google");
    Account account;
    if (accounts.length > 0) {
      account = accounts[0];      
    } else {
      account = null;
    }
    return account;
  }
}

在您的 AnroidManifest.xml 中

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

关于java - 如何获取 Android 用户的电子邮件地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2556495/

相关文章:

java - 如何从 spring-boot 应用程序中的 application.yml 文件读取属性

java - 按值传递(StringBuilder 与 String)

java - 间歇性 "java.sql.SQLException: org.apache.commons.dbcp.DelegatingStatement is closed."

android - Android 上的 UIImage

java - 以编程方式创建布局并设置 ClickListener(android)

android - Cordova "Local Notifications"插件?

java - Scanner.next 返回文件路径?

java - 核心 Java 和 JVM 安全性防止代码注入(inject)

android - Flutter:如何在 Gridview.count 下使用无限滚动显示指示器

Android:Row.xml 的相对布局