2016-11-14 9 views
0

セッションキーでログインセッションを作成しようとしましたが、セッションキーは常にログイン/登録のどちらかを実行するか、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{ 
          } 
         } 
        }); 

質問は、同じアカウントで別のログインアクティビティがある場合、セッションの保存チェックを処理するハンドラを作成する方法ですか?

+0

携帯端末や他の端末にはありますか? –

+0

@aa_oo別のモバイルで、複数のログインを防止する –

+0

あなたはサーバーの終わりからそれを行う必要があります。あなたのaccessTokenが見つかった場合(あるいは、別のデバイスからのログイン中にユーザーがaccessTokenを要求した場合)、このユーザーはログインできません。デバイスの終わりから複数のログイン機能を確認することはできません。 –

答えて

0

1人のユーザーに2つのaccessToken/Sessionを割り当てないでください。新しいユーザーの他のインスタンスに同じaccessTokenを送信します。プラスの面では、ユーザーは2つのaccessTokenで自分の作品を複製することはできません。

他の/最初のAUTO-LOGOUTを強制したい場合は、Firebase通知機能を使用して特定のdeviceIDに通知を送信し、強制的に停止することができます。あなたはfirebaseのチュートリアルがどのように動作するかを確認することができます。 もう1つの遅い手順は、同じユーザのインス​​タンスが存在するかどうかをチェックするために、ログインする前にすべてのサーバ側の作業である&を確認することです。あなたはエラーを送信し、ユーザーエンドはそれを受け取り、ユーザーをログアウトしてエラーを表示します。

+1

大丈夫、Google Firebaseを使用しようとします、ありがとう、たくさんの人 –

+0

@AldiRenaldiGunawan、いつでも仲間 –

関連する問題