我有一些活动,彼此协调完成一些交易。
交易完成后,我再次被重定向到第一个活动以进行新交易......
我想要的是在完成交易后..当我被重定向到第一个活动时,应用程序应该在我按back key
时关闭,即我不想看到上一个交易,它应该似乎应用程序刚刚开始..
该怎么办???
此外,我还不想在交易进行时finish()
进行活动......交易完成后,只有以前交易的所有活动都应该被杀死...
而startActivityForResult()
也不会解决我的问题。
请建议你的答案..
答案 0 :(得分:1)
为什么不覆盖back-button
已按下的方法,然后执行您希望应用按您希望的那样运行的任何内容。覆盖onBackPressed()
方法,如果您希望应用再次启动,则创建一个触发您的第一个活动的意图,或者如果您要关闭该应用,请执行finish()
(但您不想这样做)
答案 1 :(得分:1)
一种简单的方法:
在第一个活动中使用公共静态变量。
并从其他活动中更改它们mainActivity.VariableName =“whatever” 当您返回主活动时,您将获得所需的所有数据。
答案 2 :(得分:0)
使用以下步骤:
在FirstActivity中使用静态布尔变量
public static boolean killApplication = false;
覆盖FirstActivity中的onBackPressed方法,如
public void onBackPressed()
{
super.onBackPressed();
FirstActivity.killApplication = true;
}
在所有活动中覆盖onResume方法,例如
protected void onResume()
{
if (FirstActivity.killApplication)
{
finish();
}
}
在FirstActivity onCreate()方法中设置 killApplication = false 。