我有一个问题,后退按钮工作正常。除非您按下主页按钮,然后重新进入应用程序,然后再次按下后退按钮。然后它退出应用程序,因为它们没有任务(活动)
这是我的同事代码,我正在努力修复。 Android.R.id.home是有问题的软后退按钮,虽然操作系统后退按钮也是如此。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Intent intent;
switch (item.getItemId()) {
case android.R.id.home:
activity.finish();
return true;
case R.id.menu_paymentLocs:
intent = new Intent(activity, PaymentLocationsPage.class);
intent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
activity.startActivity(intent);
return true;
case R.id.menu_feedback:
intent = new Intent(activity, FeedbackPage.class);
intent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
activity.startActivity(intent);
return true;
case R.id.menu_about:
intent = new Intent(activity, AboutPage.class);
intent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
activity.startActivity(intent);
return true;
case R.id.menu_changeconsumer:
new SelectConsumerDialogFragment().show(getFragmentManager(), "select_consumer");
return true;
case R.id.menu_logout:
intent = new Intent(activity, SplashPage.class);
myMeter.logout();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
activity.startActivity(intent);
return true;
}
return true;
}
答案 0 :(得分:0)
要防止后退按钮执行任何预定义操作,您需要覆盖onbackpressed()
方法
如果您使用的是api level 2.0或更高版本,请尝试此操作
@Override
public void onBackPressed() {
// Do Here what ever you want do on back press;
}
答案 1 :(得分:0)
删除所有intent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);