在Realm中,为什么SyncUser.logInAsync()没有进入onSuccess()或onError()?

问题描述 投票:0回答:1

我目前正在尝试登录以创建登录领域,但我无法访问SyncUser,因为我的logInAsync没有进入onSuccess或onError方法。 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。我没有进入onSuccess或onError的原因是什么?

java object nullpointerexception realm-mobile-platform
1个回答
1
投票

验证URL是错误的,需要

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.