2012-11-20 82 views

回答

1

使用代碼這裏是用於獲取與Google Play關聯的G-mail帳戶的代碼段

private String getEmailID() { 
    AccountManager manager = (AccountManager) getSystemService(ACCOUNT_SERVICE); 
    Account[] list = manager.getAccounts(); 
    String gmail = null; 

    for (Account account : list) { 
     if (account.type.equalsIgnoreCase("com.google")) { 
      gmail = account.name; 
      break; 
     } 
    } 
    return gmail; 
} 

同時在AndroidManifest.xml中添加此權限

<uses-permission android:name="android.permission.GET_ACCOUNTS" > 
5

您可以使用AccountManager.getAccounts或AccountManager.getAccountsByType獲取設備上所有帳戶名稱的列表。

Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+ 
Account[] accounts = AccountManager.get(context).getAccounts(); 
for (Account account : accounts) { 
    if (emailPattern.matcher(account.name).matches()) { 
     String possibleEmail = account.name; 
     ... 
    } 
} 

需要GET_ACCOUNTS權限:

使用許可權的android:NAME = 「android.permission.GET_ACCOUNTS」/>

您也可以在https://developers.google.com/gmail/android/

+0

當然,無法知道這是否與Play商店相關聯。此外,Play商店支持多個帳戶,因此可能會關聯每個帳戶。獲取第一個「com.google」帳戶通常是最好的選擇。 –

+0

是的,尼古拉是對的。感謝您的額外信息。 – Talha

+0

好吧......市面上有一個應用程序「Findroid」在您設置密碼的這個應用程序中,您將在Play商店註冊一個帳戶的電子郵件。 –