我正在开发一个项目,我必须使用用户的主要电子邮件自动填充 EditText,我正在考虑将主要电子邮件作为与 google play 商店关联的电子邮件。我读过了this https://stackoverflow.com/questions/2112965/how-to-get-the-android-devices-primary-e-mail-address发布并实施。
如果我们使用 AccountManager 类来获取电子邮件 ID,我们将获取该手机中添加的所有电子邮件 ID,因此这是不可能的,并且有人说采用 AccountManager 返回的第一个电子邮件 ID,但这返回首次在手机中添加的电子邮件 ID。
IE,
假设我已经添加了[电子邮件受保护] /cdn-cgi/l/email-protection并将其与 Google Play 链接,后来我添加了[电子邮件受保护] /cdn-cgi/l/email-protection并将此帐户与 Play 商店相关联,现在我正在通过此帐户使用 Play 商店。如果我写的代码如下:
Account[] accountList = AccountManager.get(this).getAccountsByType("com.google");
Log.d("Play store account:" , accountList[0].name);
该语句的预期输出是[电子邮件受保护] /cdn-cgi/l/email-protection,但我得到了[电子邮件受保护] /cdn-cgi/l/email-protection
我该如何解决这个问题?
据我所知,android 中没有主电子邮件 ID 的概念。并且无法获取与 Play 商店关联的电子邮件 ID。所以我所做的是,我获取了所有 gmail id 并获取了最后一个,它不是主要电子邮件 id,但它应该是他的设备中第一个添加的 google 帐户。因此,在正常使用情况下,用户不会使用他第一个添加的电子邮件 ID。所以我们可以假设它是主要邮件 ID。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)