2017-03-01 1 views
3
私がログアウトしたい

とAndroidアプリの終了で偽のセッションを使用しないときに、ログアウトボタンをクリックせずに、ユーザログアウトして現在のセッションを終了したい。これはどうすればできますか?ログアウトとAndroidアプリの終了で偽のセッションAndroidアプリのログアウトボタンを</p> <p>終了を使用せずにログアウトボタン

これは

public class Session { 
    SharedPreferences preferences; 
    SharedPreferences.Editor editor; 
    Context ctx; 

    public Session(Context ctx) { 
     this.ctx = ctx; 
     preferences = ctx.getSharedPreferences("Novel Traveller",Context.MODE_PRIVATE); 
     editor =preferences.edit(); 
    } 

    public void setLoggedin(boolean loggedin){ 
     editor.putBoolean("Logged In mode",loggedin); 
     editor.commit(); 

    } 

    public boolean loggedIn(){ 
     return preferences.getBoolean("Logged In mode",false); 
    } 
} 

私のセッションクラスで、これが主な活動である

enter code here 

    public class MainActivity extends AppCompatActivity { 
    private Button btnLogout; 
    private Session session; 

    public static final String NOTE_ID_EXTAR = "com.text.traveller.novel_traveller_application.Note Identifier"; 
    public static final String NOTE_TITLE_EXTAR = "com.text.traveller.novel_traveller_application.Note Title"; 
    public static final String NOTE_MESSAGE_EXTAR = "com.text.traveller.novel_traveller_application.Note Message"; 
    public static final String NOTE_CATEGORY_EXTAR = "com.text.traveller.novel_traveller_application.Note Category"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     btnLogout =(Button)findViewById(R.id.btnLogout); 
     session = new Session(this); 
     if(!session.loggedIn()){ 
      logout(); 
     } 
     btnLogout = (Button)findViewById(R.id.btnLogout); 
     btnLogout.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       logout(); 
      } 
     }); 
    } 
    private void logout(){ 
     session.setLoggedin(false); 
     finish(); 
     startActivity(new Intent(MainActivity.this,loginActivity.class)); 
    } 
} 

答えて

1

のようなあなたの私のセッションクラスのlogoutメソッドを作成します。

public void logout() { 
     SharedPreferences.Editor editor = getSharedPreferences().edit(); 
     editor.clear(); 
     editor.apply(); 
    } 

とオーバーライドonStop( )メソッドを使用して、次のように記述してください:

@Override 
protected void onStop() { 
super.onStop(); 
session.setLoggedin(false); 
session.logout(); 
} 
+0

ありがとう、私はこれを試してみます –

関連する問題