アプリ内のすべてのアクティビティにログアウト ボタンがあり、ユーザーはどのアクティビティからもログアウトできます。以前のアクティビティを表示せずにユーザーをログイン アクティビティに送りたい。このために私は使用しています:
以下は、ログアウト方法の削除セッションです
public void logoutUser() {
//clearing all data from sharedPreferences
editor.clear();
editor.commit();
Intent intnt = new Intent(contxt, LoginActivity.class);
// Closing all the Activities
intnt.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
// Add new Flag to start new Activity
intnt.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
// Staring Login Activity
contxt.startActivity(intnt);
}
ユーザーがログアウト ボタンをクリックしてから Logout メソッドを呼び出したときの 2 番目のアクティビティから。私の 2 番目のアクティビティ クラスは、SherlockFragmentActivity を拡張します。
public void Logout(MenuItem v) {
sessionMngr.logoutUser();
}
ログアウト ボタンを押すとログイン画面が表示されますが、デバイスの戻るボタンを押すと以前のアクティビティが表示されます。ログイン画面で戻るボタンを押すと、Android のホーム画面に移動する必要があります。
stackoverflow に関するいくつかの質問を見ましたが、目標を達成できません。誰かが私がマニフェストファイルで android:noHistory="true" を使用していると言ったが、私が3番目のアクティビティにいるときにボタンを押し戻すと、Androidのホーム画面が表示されますが、2番目のアクティビティに移動する必要があります。FLAG_ACTIVITY_NO_HISTORY も試しましたが、これも私の目標を達成しません。
どこが間違っているのかわかりません。誰か解決策を教えてください。
前もって感謝します