android - 如何获取安卓手机的主邮箱账号?

标签 android google-play user-accounts accountmanager

我正在做一个项目,我必须用用户的主要电子邮件自动填充 EditText,我正在考虑将主要电子邮件作为与 google play 商店关联的电子邮件。我读过this发布并实现。

如果我们使用 AccountManager 类来获取电子邮件 ID,我们将获取该手机中添加的所有电子邮件 ID,因此这是不可能的,有些人说采用 AccountManager 返回的第一个电子邮件 ID,但是返回第一次添加到手机中的电子邮件 ID。

即 假设我添加了 test@gmail.com 并将其与 Google Play 链接,稍后我添加了 test_new@gmail.com 并将此帐户与 Play 商店相关联,现在我正在使用此帐户的 Play 商店。如果我写了如下代码:

    Account[] accountList = AccountManager.get(this).getAccountsByType("com.google");
Log.d("Play store account:" , accountList[0].name);

声明的预期输出是 test_new@gmail.com,但我收到的是 test@gmail.com

我该如何解决这个问题?

最佳答案

据我所知,android 中没有主电子邮件 ID 的概念。并且无法获取与 Play 商店关联的电子邮件 ID。所以我所做的是,我获取了所有 gmail id 并获取了最后一个,它不是主要的电子邮件 id,但它应该是他设备中第一个添加的谷歌帐户。所以在正常使用情况下,用户不会使用他的第一个添加的电子邮件 ID。所以我们可以假设它是主邮件 ID。

关于android - 如何获取安卓手机的主邮箱账号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32450994/

相关文章:

Ubuntu:通过 ssh 将用户帐户复制到同一台机器?

android - 将 Crashlytics 集成到库项目中

android - Retrofit 仅在第一次给出 EOFException

java - 将 Mat 对象数组返回给 Java

java - 重新启动 Chromecast

android - 在不使用包名称的情况下链接到 Android Market 上的应用程序

java - 当我尝试使用 setIcon 或 SetLogo 添加应用程序时,Android Studio 中的操作栏上缺少图标

android - 测试每月应用内订阅

php - 网站用户上传文件和状态

javascript - meteor 账户资料