如何在 Android 上获取 google 用户名?
Posted
技术标签:
【中文标题】如何在 Android 上获取 google 用户名?【英文标题】:How can I get the google username on Android? 【发布时间】:2011-02-13 04:44:16 【问题描述】:我看到过使用 AccountManager
的参考资料,例如 Accessing Google Account Id /username via android。不过好像是为了抢authtoken
?
我只需要访问用户名,不需要密码或任何身份验证令牌。
我正在使用 android 2.1 sdk。
【问题讨论】:
在这里查看我的回复:***.com/questions/2112965 【参考方案1】:正如 cmets 中所述,Roman 对How to get the Android device's primary e-mail address 的回答解决了这个问题。 这是我使用的代码,它也会从电子邮件中删除用户名。
public String getUsername()
AccountManager manager = AccountManager.get(this);
Account[] accounts = manager.getAccountsByType("com.google");
List<String> possibleEmails = new LinkedList<String>();
for (Account account : accounts)
// TODO: Check possibleEmail against an email regex or treat
// account.name as an email address only for certain account.type values.
possibleEmails.add(account.name);
if (!possibleEmails.isEmpty() && possibleEmails.get(0) != null)
String email = possibleEmails.get(0);
String[] parts = email.split("@");
if (parts.length > 1)
return parts[0];
return null;
【讨论】:
只想指出,如果用户有多个帐户,这将不起作用,如果他们不使用 GMail,则可能不起作用。我有多达 3 个 Google 帐户,一个是我的个人帐户,一个用于工作,一个是 Google 在我激活手机时强制我注册的 GMail,但后来我通过桌面浏览器删除了这些帐户。 @Chloe 如何选择其中一个 Google 帐户并保存? 我可以使用 oauth2 发送邮件,但有时它无法正常工作。如何确认邮件已通过 Gmail 使用此令牌成功发送。因为如果不是邮件,我可以选择发送短信 这应该始终至少有一个帐户,以便所有 Google 应用程序都可以运行。它可能不会,但它将是 Android 设备的一个边缘案例。但请注意,由于多种原因,它可能不是 gmail 地址。以上是关于如何在 Android 上获取 google 用户名?的主要内容,如果未能解决你的问题,请参考以下文章