instanciate Bisher konnten wir einfach "identitymanager.getUserName" tun, um einen Benutzernamen für einen authentifizierten App-Benutzer zu erhalten. Aber das ist jetzt nicht der Fall mit der aktualisierten Android SDK "mysampleapp".wie CognitoUser zu Benutzerattribut in Android SDK
Ich versuche Attribut Username mit dem folgenden Code, den ich in den aws Tutorials gefunden, aber ich bin immer Fehler abzurufen:
// Implement callback handler for getting details
GetDetailsHandler getDetailsHandler = new GetDetailsHandler() {
@Override
public void onSuccess(CognitoUserDetails cognitoUserDetails) {
// The user detail are in cognitoUserDetails
Map userAtts = new HashMap();
userAtts = cognitoUserDetails.getAttributes().getAttributes();
String userName = userAtts.get("given_name").toString();
}
@Override
public void onFailure(Exception exception) {
// Getting the error here
}
};
// Fetch the user details
cognitoUser.getDetailsInBackground(getDetailsHandler);
Meine Frage ist, wie kann ich instanziiert „cognitouser“ Variable in der obigen Code?
Ich versuchte Folgendes, aber es hat nicht funktioniert. Gibt mir ein „keine Identität Fehler“:
CognitoUserPool userPool = new CognitoUserPool(this, userPool, keyID,
keySecrete);
CognitoUser cognitoUser = userPool.getCurrentUser();
ich den Fehler:
onFailure==com.amazonaws.mobileconnectors.cognitoidentityprovider.exceptions.CognitoNotAuthorizedException:User-ID is null
Der Benutzer ist bereits angemeldet als authentifizierter Benutzer, bevor ich versuchen, ihren Benutzernamen abzurufen. Bitte helfen Sie bei jeder Idee. Ich muss nur "cognitoser" instanziieren und mit meiner Arbeit fortfahren.