如何在Android中获取当前活跃的Google Play帐户

时间:2016-03-10 10:15:54

标签: android google-play

我可以使用下面的代码段

获取所有配置的gmails
 Account[] accounts = AccountManager.get(this).getAccounts();

for (Account account : accounts) {

 Log.e("Gmail","gmail "+account.name);

}

通过上面的代码段,我收到了多个Gmail。但我只需要当前活跃的Gmail。指导我解决这个问题。

1 个答案:

答案 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"/>

希望它能提供帮助。