web-dev-qa-db-fra.com

Comment puis-je obtenir le nom d'utilisateur Google sur Android?

J'ai vu des références à utiliser le compte de compte comme Accéder à l'ID de compte Google/Nom d'utilisateur via Android mais il semble que c'est comme si c'était pour attraper l'Autoken?

J'ai juste besoin d'accéder au nom d'utilisateur, à aucun mot de passe ou à des jetons d'Auth.

J'utilise Android 2.1 SDK.

19
tommy chheng

Comme mentionné dans les commentaires, la réponse de Romain à Comment obtenir le Android la résout. Voici le code que j'ai utilisé aussi Nom d'utilisateur de l'email.

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;
}
46
tommy chheng