我当前正在尝试登录以创建到领域的登录,但是由于我的logInAsync没有输入onSuccess或onError方法,所以无法访问SyncUser。 onSuccess方法返回SyncUser,但是这没有发生。我的代码是

    String authURL = "https://my-realm.us1a.cloud.realm.io";
    String email = "[email protected]";
    String password = "testPassword";
    SyncCredentials credentials = SyncCredentials.usernamePassword(email, password, true);
    RealmAsyncTask task = SyncUser.logInAsync(credentials, authURL, new SyncUser.Callback<SyncUser>() {
        @Override
        public void onSuccess(SyncUser result) {
            user = result;
        }

        @Override
        public void onError(ObjectServerError error) {
            System.out.println("failed");
        }
    });
    String url = "realms://unbranded-metal-bacon.us1a.cloud.realm.io/~/travelin";
    config = user.createConfiguration(url).build();


我在上面声明了一个私有的SyncUser用户。在最后一行,由于user为null,因此我得到了null对象引用。我没有输入onSuccess或onError的原因是什么?

最佳答案

验证网址错误,需要

String authURL = "https://my-realm.us1a.cloud.realm.io/auth";


另外,SyncUser.logInAsync()在后台运行,因此此行必须在onSuccess()内,否则用户将是null

config = user.createConfiguration(url).build();

10-07 12:59