Wie erhalte ich den Google-Kontonamen des Android-Handys?

So mache ich Handy-Spiel mit Unity-Engine, denke zu Android-Ziel zu veröffentlichen.

Jetzt wird mein Spiel ein eigenes Highscore-Board haben. Ich denke, wenn der Benutzer Punkte verdient, sollte das Spiel seinen Identitäts-Spitznamen senden und Punkte an den Server senden.

So, um seinen eindeutigen Namen zu erhalten, denke ich, um seinen Google-Kontonamen zu erhalten. (Natürlich kann ich eine Option auswählen, die Benutzereingaben für seinen Spitznamen erhält, aber gut, lästig)

Ich benötige nur den vorderen Teil des E-Mail-Formats (d. H. Den Benutzernamen).Beispiel: Wenn das Google-Konto des Nutzers [email protected] lautet, möchte ich nur "asdf" extrahieren.

So, wie geht das?

Und ist dies ein guter Weg, um seinen eindeutigen Spitznamen zu erhalten?

Vielen Dank

So hat mir das gefallen, funktioniert aber nicht.

public class MainActivity extends UnityPlayerActivity implements        AndroidInterface{
private String usergoogleName;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);  
    GetUserName();      
} 
public void GetUserName(){
    AccountManager manager = AccountManager.get(this);
    Account[] accounts = manager.getAccountsByType("com.google");
    List<String> username = new LinkedList<String>();

    for (Account account : accounts) {
        username.add(account.name);
    }
    usergoogleName = username.get(0);
    sendMessage("Main Camera", "JavaMsg", usergoogleName);
}

@Override
public void sendMessage(String target, String method, String params) {
    // TODO Auto-generated method stub
    UnityPlayer.UnitySendMessage(target, method, params);
}

und an der Seite der Einheit habe ich ein Skript an das Objekt 'Hauptkamera' angehängt und geschrieben:

public string name;
public void JavaMsg(string str){
    name = str;
}
void OnGUI(){
    GUI.Label(new Rect(100, 200, 300, 100), "google account name is " + name);
}

Aber wenn ich dies auf meinem Handy nach der Erstellung der APK-Datei ausführe, wird der Kontoname nicht gelesen.

Was ist falsch

Antworten auf die Frage(4)

Ihre Antwort auf die Frage