get Primary Email Account of android phone

droidev picture droidev · Sep 8, 2015 · Viewed 15.2k times · Source

I am working on a project, and I have to fill the EditText automatically with the user's primary email, I am considering primary email as the email that associated with google play store. I have read this post and implemented that,

if we are using the AccountManager class for geting the email ids, we will get all the email id added in that phone, so that is not possible, and some says to take the first email id that returned by the AccountManager, but that returns the email id that added in the phone for the first time.

ie, suppose I have added [email protected] and linked that with google play, later I have added [email protected] and associated this account with play store, right now I am using play store with this account. if I have wrote code as follows ;

        Account[] accountList = AccountManager.get(this).getAccountsByType("com.google");
    Log.d("Play store account:" , accountList[0].name);

the expected out put for the statement is [email protected], but I am getting [email protected]

is there any way to solve this issue ?

please help me contributing your ideas.

Answer

droidev picture droidev · Mar 2, 2016

As far as I read, there is no concept of primary email id in android. and there is no way to get e-mail id associated with play store. so what I did is, I have fetched all gmail ids and took the last one, it is not the main email id, but it should be the first added google account in his device. so in normal use cases user won't play with his first added email id. so we can assume it as primary mail id.