android - 在 android 中保持 quickblox 的用户 session 处于 Activity 状态

标签 android session quickblox quickblox-android

大家好我一起工作http://quickblox.com/developers/Sample-webrtc-android它工作正常

但我想知道有什么方法可以让用户在我的应用程序中以快速 blox 用户的身份登录。

因为现在每次用户打开我的应用程序时,用户都必须先登录,所以我希望在可能的情况下让 session 保持 Activity 状态,

因为它更好地提高性能而不是每次登录都只是阻止登录并保持 session Activity

提前致谢

我使用了下面的代码

private void createSession(final String login, final String password) {

    final QBUser user = new QBUser(login, password);
    QBAuth.createSession(login, password, new QBEntityCallbackImpl<QBSession>() {
        @Override
        public void onSuccess(QBSession session, Bundle bundle) {
            Log.d(TAG, "onSuccess create session with params");
            user.setId(session.getUserId());

            if (chatService.isLoggedIn()) {
                initQBRTCClient();

            } else {
                chatService.login(user, new QBEntityCallbackImpl<QBUser>() {

                    @Override
                    public void onSuccess() {
                        Log.d(TAG, "onSuccess login to chat");
                        /*
                         * ListUsersActivity.this .runOnUiThread(new
                         * Runnable() {
                         * 
                         * @Override public void run() {
                         * showProgress(false); } });
                         * 
                         * startCallActivity(login);
                         */
                        islogin = true;
                        initQBRTCClient();
                    }

                    @Override
                    public void onError(List errors) {

                        Toast.makeText(HomeAppActivity.this, "Error when login", Toast.LENGTH_SHORT).show();
                        for (Object error : errors) {
                            Log.d(TAG, error.toString());
                        }
                    }
                });
            }

        }

        @Override
        public void onError(List<String> errors) {
            Toast.makeText(HomeAppActivity.this, "Error when login, check test users login and password",
                    Toast.LENGTH_SHORT).show();
        }
    });
}

最佳答案

documentation 中所述 session token 有效期为 2 小时。

登录后,您可以将 session token 和过期时间存储在应用存储的某个位置 - 首选项、数据库等。可以通过 BaseService.getBaseService().getToken() 检索 token 。 当用户再次打开您的应用时,您可以使用存储的 token 设置 session BaseService.createFromExistentToken()

这是 documentation . 另外,为了保持永久运行聊天连接,最好使用 android service .

关于android - 在 android 中保持 quickblox 的用户 session 处于 Activity 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35332755/

相关文章:

php - Laravel:从 android(不是浏览器)询问 "Am I Logged in?"

php - 将 session 存储在数据库中,这是一个好主意吗?

Java Ganymed Trlead Orion ssh session 超时

Django REST Framework SessionAuthentication 似乎不起作用?

android - 在调用时与对手创建 QBRTCSession 时有时会出现空指针异常

android - MapActivity 无法解析为类型,即使使用 Google API 目标也是如此

android - 由于 .dex 文件错误,我无法构建我的应用程序。 (安卓)

android - 在 Firebase 上使用事务

android - QuickBlox Android - 如何按标签检索用户并按 createAt 排序?

QuickBlox - 如何创建自定义查询