如何运行后台进程以检查用户会话是否结束

时间:2016-11-14 09:26:52

标签: android session gson retrofit

我尝试用会话密钥创建登录会话,会话密钥总是生成新密钥我们做登录/注册,我可以从我的gson检索数据

LoginService loginService = retrofit.create(LoginService.class);
            Observable<LoginResponse> obs = loginService.logins(emai,pass,"1", Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID), Build.MODEL, Build.VERSION.RELEASE);
            obs.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).
                    subscribe(new Observer<LoginResponse>() {
                        @Override
                        public void onCompleted() {

                        }

                        @Override
                        public void onError(Throwable e) {

                        }

                        public void onNext(LoginResponse loginResponse) {
                            int responses = loginResponse.getCODE();
                            String texts="";
                            if(responses == 1)
                            {
                                User user = loginResponse.getDATALIST().get(0);
                                setPrefIsLogin(true);
                                setPrefSessionUid(user.getSESSIONKEY(),user.getUSERID());
                                nextActivity();
                            }
                            else{
                            }
                        }
                    });

问题是,如果有另一个具有相同帐户的登录活动,如何使处理程序处理保存会话检查?

1 个答案:

答案 0 :(得分:0)

您永远不应为一个用户分配两个accessToken / Session。您将相同的accessToken发送到新用户的另一个实例。另外,用户将无法通过两个accessToken复制他/她的作品。

如果要强制使用另一个/第一个AUTO-LOGOUT,可以使用Firebase通知功能向该特定设备ID发送通知并强制停止。您可以查看firebase的教程,了解它们的工作原理。 另一个缓慢的过程是在登录前检查&amp;每个服务器端都要检查是否有同一个用户的实例。您将发送错误,用户端将收到该错误,并通过注销用户显示错误。