我已经看到过使用AccountManager的提法,例如通过Android访问Google帐户ID /用户名,但它似乎是为了抓住authtoken?
我只需要访问用户名,没有密码或任何身份验证令牌.
我正在使用android 2.1 sdk.
tom*_*eng 46
正如评论中所提到的,Roman对如何获取Android设备的主要电子邮件地址的回答解决了这个问题.这是我使用的代码,它也将从电子邮件中删除用户名.
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50184 次 |
| 最近记录: |