QuickBlox Android 无响应

Posted

技术标签:

【中文标题】QuickBlox Android 无响应【英文标题】:QuickBlox Android NoResponse 【发布时间】:2015-03-15 10:36:24 【问题描述】:

我正在使用 QuickBlox 开发一个简单的基于 android 的聊天应用程序。为此,我创建了一个 Quickblox 免费帐户。现在有时当我尝试登录聊天服务时,我会收到以下错误。对此有什么想法吗?

03-15 15:58:37.589  15897-16016/com.ne.chatapp D/QBASDK﹕ Connecting to chat..
03-15 15:58:43.499  15897-16020/com.ne.chatapp D/SMACK﹕ SENT (0): <stream:stream to="chat.quickblox.com" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
03-15 15:58:48.380  15897-16020/com.ne.chatapp D/SMACK﹕ SENT (0): </stream:stream>
03-15 15:58:48.390  15897-16016/com.ne.chatapp E/Login error1﹕ NoResponseException
03-15 15:58:48.420  15897-15897/com.ne.chatapp E/Login error﹕ NoResponseException

用于用户身份验证的 Java 代码

public void AuthenticateUser(String Email,String Password,final Context context)

    loginActivity = (LoginActivity)context;
    applicationSingleton = (ApplicationSingleton)loginActivity.getApplication();

    QBChatService.setDebugEnabled(true);
    QBSettings.getInstance().fastConfigInit(GlobalData.APP_ID, GlobalData.AUTH_KEY, GlobalData.AUTH_SECRET);
    if (!QBChatService.isInitialized()) 
        QBChatService.init(context);
    
    chatService = QBChatService.getInstance();

    final QBUser user = new QBUser();
    user.setLogin(Email);
    user.setPassword(Password);

    QBAuth.createSession(user, new QBEntityCallbackImpl<QBSession>() 
        @Override
        public void onSuccess(QBSession session, Bundle args) 
            user.setId(session.getUserId());
            applicationSingleton.setCurrentUser(user);

            if(chatService.isLoggedIn())
            
                applicationSingleton.setLoginType(LoginType.UNKNOWN);
                loginActivity.onLoginSuccess();
                return;
            


            chatService.login(user, new QBEntityCallbackImpl() 
                @Override
                public void onSuccess() 
                    try 
                        chatService.startAutoSendPresence(GlobalData.AUTO_PRESENCE_INTERVAL_IN_SECONDS);
                        applicationSingleton.setChatService(chatService);
                        applicationSingleton.setLoginType(LoginType.NORMAL);
                        loginActivity.onLoginSuccess();

                     catch (SmackException.NotLoggedInException e) 
                        e.printStackTrace();
                    
                

                @Override
                public void onError(List errors) 
                    Log.e("Login error1", errors.get(0).toString());
                    loginActivity.onLoginError(errors);
                
            );
        

        @Override
        public void onError(List<String> errors) 
            Log.e("Session : ", errors.get(0).toString());
            loginActivity.onLoginError(errors);
        
    );


【问题讨论】:

【参考方案1】:

一切正常。可能与 Internet 连接或 XMPP 服务器的问题有关。

此问题多久重现一次\出现在应用程序中 您能否自己重现此错误,如果您可以在下面描述重现此错误的步骤吗?

【讨论】:

感谢您的回复。你是对的。它与代码无关。它与移动数据完美配合。当我切换到wifi时出现问题。我用其他几台设备对此进行了测试,它工作正常。 Quick Blox 有很多限制【参考方案2】:

在超时情况下,您可以将超时时间增加

final static int TIME_OUT=100000;
QBChatService.setDefaultPacketReplyTimeout(TIME_OUT);

【讨论】:

以上是关于QuickBlox Android 无响应的主要内容,如果未能解决你的问题,请参考以下文章

Android\iOS 相机权限 - 移动用户无响应

Android QuickBlox getFile 响应问题

Android - MPAndroidChart 中的拖动在 ScrollView 中时无响应

“服务器无响应。”对于 android 中的 MutliUserChat

Android:OnClickListener 在初始加载时无响应?

完全无响应的 Android 自定义适配器