如何清除以前的活动堆栈和退出应用程序后退button?

朋友们,

我有三个活动

A,B,C

A是主屏幕。

活动按照A-> B-> C启动

如果我来到主屏幕使用后退我想清除活动堆栈/以前的活动历史,它应该退出应用程序。

任何一个指导我如何实现这一目标?

  • 关闭应用程序并检索该数据时保存数据
  • 如何在Android中启动其他活动时完成活动?
  • 在Android应该每个屏幕都是自己的活动或布局?
  • overridePendingTransition用于平滑地进出滑动活动
  • 按HOME后重新启动应用程序时如何返回到最新启动的活动?
  • 在Qt for Android中添加SDK活动
  • SINGLE_TOP | CLEAR_TOP似乎在95%的时间都有效。 为什么5%?
  • 如何将活动带到前台(栈顶)?
  • 非常简单:使用intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 关于用于开始活动的意图A.

    你可以做以下事情:
    1.在AndroidManifest中,在活动声明A中设置clearTaskOnLaunch =“true”
    2.在活动C:

     @Override public void onBackPressed(){ moveTaskToBack(true); } 

    所以如果用户按回来 – 如果用户再次启动应用程序返回到主屏幕 – 任务堆栈清除,他来到根活动(A)

    在活动A中试试这个:

     @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){ finish(); } return super.onKeyDown(keyCode, event); } 

    这应该确保如果你点击后退button,活动finish() 。 如果此活动位于堆栈底部,则应退出该活动。

    我认为compostus是真的,但如果不是,从A你可以启动B与startActivityForResult()和onActivityResult()处理收到的“消息”。 如果后退button被按下,则活动B将发送“CLOSE_ACTIVITY”消息。