我的活动堆栈:
Main -> Restaurant Menu -> Order Details.
下订单时,我需要关闭餐厅菜单和订单详情 并启动名为Active Order的新活动
Main -> Active Order. (need to close top 2 activity)
我尝试过以下所有选项
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
我发现的所有解决方案都表现如下
我怎样才能做到这一点。 主要 - >活跃订单。 ?
感谢。
答案 0 :(得分:0)
我可以使用的想法是每次新意图开始时设置SharedFile,并且在您使用startActivity();
之后,我会在finish();
之后关闭当前活动,然后再打开新的之一。
答案 1 :(得分:0)
我曾经使用过像..
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
this.finish();
答案 2 :(得分:0)
您可以启动类似的活动:
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
这是一个最小的示例,您可以在Android中创建Intent并启动Activity。
Intent intent = new Intent(this,Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
答案 3 :(得分:0)
Intent i = new Intent(getActivity(), ActiveOrder.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
答案 4 :(得分:0)
试试这种方式
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
根据意图的Android Developers resource:
FLAG_ACTIVITY_CLEAR_TASK
:如果设置在传递给Intent
的{{1}}中,则此标志将导致在活动开始之前清除与活动关联的任何现有任务。 / LI>
Context.startActivity()
:如果设置,此活动将成为此历史记录堆栈上新任务的开始。致电FLAG_ACTIVITY_NEW_TASK
之后,请将此行放在更准确的位置:
startActivity(intent)