2016-08-03 70 views
4
Plus.PeopleApi.load(mGoogleApiClient, googleUser.getId()).setResultCallback(new ResultCallback<People.LoadPeopleResult>() { 
      @Override 
      public void onResult(@NonNull People.LoadPeopleResult loadPeopleResult) { 
       Person person = loadPeopleResult.getPersonBuffer().get(0); 
       gender = person.getGender(); 
       loadPeopleResult.release(); 
      } 
     }); 

Dies ist der Code, den ich bis jetzt verwendet, um Geschlecht aus GoogleSignInAccount zu erhalten, die von der Implementierung von Google Anmelden in Android-Apps zur Zeit der richtige Weg ist. Aber seit dem 9.4.0-Update für com.google.android.gms: play-services-plus ist die gesamte Plus-Klasse veraltet, einschließlich der PeopleApi-Methode und der load-Methode. Ich habe eine Menge Google-Dokumente gelesen, aber ich kann einfach keinen geeigneten Weg finden, um ein Geschlecht zu bekommen.Wie Geschlecht aus GoogleSignInAccount erhalten (vorheriger Methode ist veraltet)

+1

Leider ist das Geschlecht in der neuen Google Sign-In-API noch nicht verfügbar, aber es ist ein bekannter Mangel und wir arbeiten daran, es hinzuzufügen. Ich werde dies aktualisieren, sobald wir es zur Verfügung stellen können. In der Zwischenzeit, sogar mit der älteren API, ist das Geschlecht für einige Benutzer möglicherweise nicht verfügbar, so dass Sie nach der Anmeldung eines Benutzers auf Ihre eigene Benutzeroberfläche zurückgreifen müssen, so hoffnungsvoll, dass dies eine Übergangslösung sein kann. –

+0

@StevenSoneff Vielen Dank, dass Sie das klar gemacht haben. Ich freue mich darauf, dass das Geschlecht der Anmelde-API hinzugefügt wird. Prost! –

Antwort

1

Ja Plus ist veraltet.

Haben Sie das Paket versucht: com.google.android.gms.plus.model.people Ich denke, das die Dokumentation, die Sie suchen sein könnte: https://developers.google.com/android/reference/com/google/android/gms/plus/model/people/package-summary

Es Sie sie das geändert sehen API zu plus.model.people und eine Unterklasse ist Person.Gender. Dann lautet die für das Geschlecht angegebene Methode:
getGender().

+1

Ja, aber wie man Person Objekt bekommt? Es gibt keine guten Codebeispiele und die Dokumentation selbst ist mir nicht klar. Wie auch immer, werfen Sie einen Blick auf den Kommentar zu meiner ursprünglichen Frage, einer der Google-Leute erklärte, dass Gender im Moment nicht offiziell als Teil der Anmelde-API verfügbar ist, aber früher oder später verfügbar sein sollte. –