2010-04-28 37 views

cevap

45

Yorumlarda belirtildiği gibi, Romanın cevabı How to get the Android device's primary e-mail address'u çözmektedir. Burada kullandığınız kod, e-postadaki kullanıcı adını da çıkaracaktır.

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; 
} 
+2

Sadece bu kullanıcı birden fazla hesabı varsa çalışmak ve olmayacağını işaret etmek istiyorum onlar don GMail kullanmayın. 3 tane Google hesabım, kişisel, işim için bir tane ve Google'ın telefonumu etkinleştirdiğimde kaydolmam için zorladığım bir masaüstü bilgisayarımdan sildim. – Chloe

+0

@Chloe Google hesaplarından birini seçip kaydetmek nasıl? – Zyoo

+0

Oauth2 kullanarak posta gönderebiliyorum ve bazen çalışmıyor .. posta ile bu jetonu kullanarak Gmail'in başarılı bir şekilde gönderildiğini nasıl kabul edebileceğimi biliyorum ... çünkü postalamıyorsa sms göndermek için bir seçeneğim var –

İlgili konular