如何在 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 用户名?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 android 上使用 google map api 获取 google 驾驶指令?
如何通过滑行在 Google 地图上的 infoWindow 中获取图像 - Android
如何使用 Fabric 的 Answers 或 Google Analytics 获取当前 Android 用户的事件计数?