我可以使用下面的代码段
获取所有配置的gmails Account[] accounts = AccountManager.get(this).getAccounts();
for (Account account : accounts) {
Log.e("Gmail","gmail "+account.name);
}
通过上面的代码段,我收到了多个Gmail。但我只需要当前活跃的Gmail。指导我解决这个问题。
答案 0 :(得分:2)
<强> There is no concept of primary email id or current active google account in android 强>
您可以获取已在该手机上登录的用户的Google帐户。
Account[] accounts = AccountManager.get(this).getAccounts();
if(accounts != null && accounts.length > 0) {
ArrayList playAccounts = new ArrayList();
for (Account account : accounts) {
String name = account.name;
String type = account.type;
if(account.type.equals("com.google")) {
playAccounts.add(ac.name);
}
Log.d(TAG, "Account Info: " + name + ":" + type);
}
Log.d("tag", "Google Play Accounts present on phone are :: " + playAccounts);
}
根据上面提到的答案链接是选择你在列表中的最后一个帐户,以获得在android中添加的第一个帐户。
String emailId = playAccounts.get(playAccounts.size()-1);
更新 - 1
您需要GET_ACCOUNTS
权限才能访问帐户。
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
希望它能提供帮助。