何が起こっているかは、一度戻るボタンのアクティビティをもう一度押してからもう一度戻るボタンを押すとアプリを終了します。つまり、初めてのことです。戻るボタンを押すと同じアクティビティが再度読み込まれます
私はonBackPressedメソッドを試してみるなど、さまざまな方法を試しましたが、どれもうまくいきませんでした。私はそれを修正したい、ユーザーが戻るボタンを押すと、彼はアプリから終了する必要があります。 他のアクティビティでも同じことが起こっています。ログインページがあります。ユーザーがログインページに来たら、アプリケーションを終了して戻るボタンを押してください。その後、ログインページが再度読み込まれてからボタンをもう一度押すと、アプリを終了します。
以下はコードです。
public class MainActivity extends AppCompatActivity {
CardView attendance, time_table, directory, daily_work, notices, transport,remarks,calendar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences preferences = getSharedPreferences("user_login",MODE_PRIVATE);
boolean isLogin = preferences.getBoolean("isLogin", false);
if(isLogin)
{
init();
methodListener();
}
else {
Intent intent = new Intent(this, Login.class);
startActivity(intent);
finish();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.logout) {
SharedPreferences preferences = getSharedPreferences("user_login", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.clear();
editor.commit();
Intent intent = new Intent(this,Login.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
finish();
}
return super.onOptionsItemSelected(item);
}
}
修正方法をご提案ください。 onBackPressed
onBackPressed()メソッドで何を試しましたか?これは正しいアプローチです。 – Yuliwee
onBackPressedメソッドでfinish()を追加しようとしましたか? –