나는 자동 사용자 생성을 사용하여 익명 사용자를 사용하는 Parse Android 응용 프로그램을 작성 중입니다. 이 사용자를 성공적으로 가입 (익명 사용자를 일반 사용자로 변환) 한 후 로그인하십시오. 두 호출이 모두 성공적으로 리턴됩니다. 그런 다음 사용자 개체에 데이터를 설정하고 사용자를 저장하려고하면 ParseObject 클래스에 stackoverflow가 생깁니다.익명 사용자를 일반 사용자로 변환하여 저장
내 코드는 (예를 들어 단순 코드)과 같은 다음에 ParseUser saveInBackground 호출시
user.setUsername("MyUserName");
final String password = new PasswordGenerator().nextSessionId();
user.setPassword(password);
try {
user.signUp();
ParseUser.logInInBackground(verification.getPhoneNumber(), password, new LogInCallback() {
@Override
public void done(final ParseUser parseUser, final ParseException e) {
if (parseUser == null) {
requestListener.onError(e);
} else {
parseUser.put("phone_no", "123");
parseUser.saveInBackground(new SaveCallback() { // This generates a stackoverflow
@Override
public void done(final ParseException e) {
int i = 0;
System.out.println("i = " + i);
}
});
// requestListener.onSuccess(null);
}
}
});
} catch (ParseException e) {
e.printStackTrace();
}
스택 오버 플로우가 발생한다. stackoverflow는 다음과 같습니다.
java.lang.StackOverflowError
at com.parse.ParseObject.isDataAvailable(ParseObject.java:3212)
at com.parse.ParseObject.checkGetAccess(ParseObject.java:3284)
at com.parse.ParseObject.getString(ParseObject.java:2867)
at com.parse.ParseUser.getUsername(ParseUser.java:401)
at com.parse.ParseUser.signUpAsync(ParseUser.java:665)
at com.parse.ParseUser.resolveLazinessAsync(ParseUser.java:1397)
at com.parse.ParseUser.saveAsync(ParseUser.java:502)
at com.parse.ParseUser.signUpAsync(ParseUser.java:681)
at com.parse.ParseUser.resolveLazinessAsync(ParseUser.java:1397)
at com.parse.ParseUser.saveAsync(ParseUser.java:502)
at com.parse.ParseUser.signUpAsync(ParseUser.java:681)
사용하는 구문 분석 버전은 1.8.0입니다.
아이디어가 있으십니까?