Wie greifen Sie auf die Google-Kontonummer/den Nutzernamen des Nutzers im Code zu? Ich erstelle eine Anwendung, die einen Webdienst zum Speichern von Daten aufruft, und ich möchte die Identität der Person angeben, die die Daten übermittelt.Zugriff auf die Google-Kontonummer/den Nutzernamen über Android
Antwort
Ich habe in der gleichen Ausgabe lief und diese beiden für mich gelöst Links:
Die erste ist diese: How do I retrieve the logged in Google account on android phones?
, die den Code stellt für die Konten Abrufen mit dem Telefon verbunden. Grundsätzlich werden Sie so etwas wie dieses benötigen:
AccountManager manager = (AccountManager) getSystemService(ACCOUNT_SERVICE);
Account[] list = manager.getAccounts();
Und die Berechtigungen in der AndroidManifest.xml
<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission>
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"></uses-permission>
Zusätzlich zu addieren, wenn Sie den Emulator den folgenden Link verwenden wird Ihnen helfen, um es einzurichten mit einem Konto: Android Emulator - Trouble creating user accounts
Grundsätzlich heißt es, dass Sie ein Android-Gerät auf der Grundlage einer API-Ebene und nicht der SDK-Version erstellen müssen (wie es normalerweise getan wird).
Verwenden Sie diese: - http://StackOverflow.com/A/31538053/4395114 –
Wie kann ich den Account Avatar bekommen?Vielen Dank! – Urchin
@Urchin das ist ein wenig außerhalb des Umfangs dieser Frage, aber ich glaube, dass dieser andere dir helfen könnte. http://stackoverflow.com/questions/17905066/get-user-name-avatar-from-google-account –
Es gibt ein Beispiel von Google, das die vorhandenen Google-Konten auflistet und bei Auswahl ein Zugriffstoken generiert. Sie können dieses Zugriffstoken an den Server senden, um die zugehörigen Details zur Identifizierung des Benutzers abzurufen.
Sie können auch die E-Mail-ID von Zugriffstoken erhalten, für die Sie die SCOPE
Bitte gehen Sie durch My Post
Diese Methode zu erhalten Google Benutzername ändern müssen:
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 > 0 && parts[0] != null)
return parts[0];
else
return null;
} else
return null;
}
einfach dieser Methodenaufruf ....
Und Google-Benutzer in der Gmail Identifikation erhalten ::
accounts = AccountManager.get(this).getAccounts();
Log.e("", "Size: " + accounts.length);
for (Account account : accounts) {
String possibleEmail = account.name;
String type = account.type;
if (type.equals("com.google")) {
strGmail = possibleEmail;
Log.e("", "Emails: " + strGmail);
break;
}
}
Nach dem Hinzufügen der Berechtigung in Manifest;
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
Warum sind die Zugriffsrechte für interenet und access network erforderlich? – Chitrang
String name = android.os.Build.USER;
if (!TextUtils.isEmpty(name)) {
nameEdit.setText(name);
}
Nun, ich habe es versucht und es gab mir "dpi" zurück. Offensichtlich nicht der Name des Benutzers. –
if (Plus.PeopleApi.getCurrentPerson(mGoogleApiClient) != null) {
Person currentPerson = Plus.PeopleApi.getCurrentPerson(mGoogleApiClient);
String userid=currentPerson.getId(); //BY THIS CODE YOU CAN GET CURRENT LOGIN USER ID
}
Retrieve-Profilinformationen für ein angemeldeten Nutzers verwenden, um die GoogleSignInResult.getSignInAccount Verfahren Profilinformationen für die derzeit in Benutzer signiert anzufordern. Sie können die getSignInAccount-Methode aufrufen, nachdem die Anmeldung erfolgreich abgeschlossen wurde.
GoogleSignInResult result =
Auth.GoogleSignInApi.getSignInResultFromIntent(data);
GoogleSignInAccount acct = result.getSignInAccount();
String personName = acct.getDisplayName();
String personGivenName = acct.getGivenName();
String personFamilyName = acct.getFamilyName();
String personEmail = acct.getEmail();
String personId = acct.getId();
Uri personPhoto = acct.getPhotoUrl();
- 1. Zugriff auf Benutzerinformationen über Aktivitäten Firebase Android
- 2. Zugriff auf die Kamera über OpenMAX in Android
- 3. Zugriff auf Entität über die Ansicht
- 4. Zugriff auf die Eingabeaufforderung (Windows) über Java
- 5. Zugriff auf die Hostdatenbank über einen Andockcontainer
- 6. Zugriff auf die GPU über den Webbrowser
- 7. Zugriff auf die Datenbank über das Netzwerk
- 8. Zugriff auf die serielle Schnittstelle über PHP
- 9. Zugriff auf die benutzerdefinierte Ansicht in Android
- 10. Zugriff auf die Android-Fragmente adb Befehle
- 11. Zugriff auf lokale Host-Website in Android-Gerät über WLAN
- 12. Zugriff auf Magentos Gast-API über Android fehlgeschlagen
- 13. Zugriff auf Android-Dateisystem von Windows 7-Befehlszeile über USB
- 14. Zugriff auf Benutzer über C#
- 15. Zugriff auf NexusDB über Java
- 16. Zugriff auf Tabellendaten über Fremdschlüsselbezug?
- 17. Zugriff auf Serversteuerelemente über Seitenmethoden?
- 18. Zugriff auf Elemente auf w3school-Seiten über die Chrome-Entwicklerkonsole
- 19. Zugriff auf die Endpunkte-API über die Chrome-Erweiterung
- 20. Zugriff auf die Eigenschaftendatei über die Java EE-Webanwendung?
- 21. GA: Zugriff auf die Kohortenanalyse über die Analytics API?
- 22. Zugriff auf die Hudson Script Console über die Befehlszeile
- 23. Zugriff auf ISIM-Informationen auf Android
- 24. Zugriff auf android: installLocation Manifestattribut
- 25. Zugriff auf Android NotificationListenerService Einstellungen
- 26. Zugriff auf die Android-Ansicht eines nativescript-Layouts
- 27. Android 6 Runtime-Berechtigung für den Zugriff auf die Galerie.
- 28. Über Netzwerkanbieter auf Android
- 29. Android: programmgesteuert Zugriff auf Dateiverknüpfungen
- 30. Zugriff auf Android-Kontaktgruppe Name
Get Google-Konto Benutzernamen und E-Mail http://stackoverflow.com/a/31538053/4395114 –
Es gibt auch eine Bibliothek für die Kontoverwaltung in android [hier] (http: // stackoverflow.com/questions/24227274/how-to-add-programmatically-a-custom-account-in-android/39686087#39686087). –