0

I am facing a crash while using QuickBlox for a video call in my app. qbInitSession() and qbSignIn() seem to be the culprit:

Here is the stack trace:

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)
Fruchtzwerg
  • 10,999
  • 12
  • 40
  • 49
  • Please go through to this [https://stackoverflow.com/questions/6343166/how-do-i-fix-android-os-networkonmainthreadexception](https://stackoverflow.com/questions/6343166/how-do-i-fix-android-os-networkonmainthreadexception) – yashkal Nov 21 '17 at 05:15
  • Hey Robin, can you please share your snippet what you tried. – MohanRaj S Nov 21 '17 at 05:17

2 Answers2

0

StrictMode thread policy is used for older API's, nowadays android depreciated those code, please update your code into current version code, Please refer the following link networkonmainthreadexception

MohanRaj S
  • 1,958
  • 4
  • 30
  • 54
0

In your case just use asynchronous methods from QuickBlox Android SDK. For example, use next code for signin:

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    
            }
        });