QuickBlox崩溃会话创建[qbInitSession]和发布

时间:2017-11-21 05:02:12

标签: android android-studio quickblox

在我的应用中使用QuickBlox进行视频通话时,我遇到了崩溃。 qbInitSession()qbSignIn()似乎是罪魁祸首:

这是堆栈跟踪:

android.os.NetworkOnMainThreadException
    at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1303)
    at com.android.org.conscrypt.Platform.blockGuardOnNetwork(Platform.java:300)
    at com.android.org.conscrypt.OpenSSLSocketImpl.shutdownAndFreeSslNative(OpenSSLSocketImpl.java:1194)
    at com.android.org.conscrypt.OpenSSLSocketImpl.close(OpenSSLSocketImpl.java:1189)
    at org.jivesoftware.smack.tcp.XMPPTCPConnection.shutdown(Unknown Source)
    at org.jivesoftware.smack.tcp.XMPPTCPConnection.shutdown(Unknown Source)
    at org.jivesoftware.smack.AbstractXMPPConnection.disconnect(Unknown Source)
    at org.jivesoftware.smack.AbstractXMPPConnection.disconnect(Unknown Source)
    at com.quickblox.chat.QBChatService.logout(Unknown Source)
    at com.app.sesh.utils.QuickBloxSignupSignin.qbChatLogin(QuickBloxSignupSignin.java:232)
    at com.app.sesh.utils.QuickBloxSignupSignin.access$500(QuickBloxSignupSignin.java:60)
    at com.app.sesh.utils.QuickBloxSignupSignin$4.onSuccess(QuickBloxSignupSignin.java:191)
    at com.app.sesh.utils.QuickBloxSignupSignin$4.onSuccess(QuickBloxSignupSignin.java:177)
    at com.quickblox.auth.session.Query.notifySuccess(Unknown Source)
    at com.quickblox.auth.session.Query$VersionEntityCallback.completedWithResponse(Unknown Source)
    at com.quickblox.auth.session.Query.completedWithResponse(Unknown Source)
    at com.quickblox.core.server.HttpRequestRunnable$1.handleMessage(Unknown Source)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6169)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778)
    11-20 14:26:15.975 29278-29278/com.app.sesh D/SMACK: XMPPConnection closed (2)

2 个答案:

答案 0 :(得分:0)

StrictMode线程策略用于较旧的API,现在android折旧了那些代码,请将您的代码更新为当前版本代码,请参考以下链接 networkonmainthreadexception

答案 1 :(得分:0)

在您的情况下,只需使用QuickBlox Android SDK中的异步方法。例如,使用下一个登录代码:

QBUsers.signIn(qbUser).performAsync(new QBEntityCallback<QBUser>() {
            @Override
            public void onSuccess(QBUser qbUser, Bundle bundle) {
                //success signin
            }

            @Override
            public void onError(QBResponseException e) {
               //error during signin    
            }
        });