获取Android手机的主电子邮件帐户

dro*_*dev 12 android user-accounts accountmanager google-play

我正在开发一个项目,我必须使用用户的主电子邮件自动填充EditText,我将主要电子邮件视为与Google Play商店相关联的电子邮件.我已阅读这个帖子并实现了,

如果我们使用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);
Run Code Online (Sandbox Code Playgroud)

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

有什么方法可以解决这个问题吗?

请帮我提出你的想法.

dro*_*dev 9

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