管理活动(返回)订单

时间:2012-10-31 17:56:46

标签: android android-activity android-lifecycle

这是理论上的问题,但我需要一些建议。我有很复杂的逻辑在我的活动之间切换。一部分很简单:ActualActivity - >接下来开始。问题在于previousActivity< - ActualActivity(通过后退按钮例如)。如果我可以骑自行车怎么办? 当我完成逻辑过程的最后一个活动时,我需要完成此过程之前的最后4个活动!?当然我不想回调每个活动。

这是我决定默认调用每个活动的finish()的原因之一。我重写了StartActivity并将finish()放在那里。我还修复了每个Activity的setIntent。但有时候还不够。 是否可以将Intent以某种方式发送到另一个Activity?为了更好地理解我的想法: intent.putExtra(BackIntent)

我很清楚,这不是常见和良好的解决方案。 如何管理不需要的“onPaused”活动?如何查看活动是否已暂停并致电简历?

谢谢。

2 个答案:

答案 0 :(得分:1)

我认为您需要阅读有关 Intent Flags

的文档

这是您可以控制与活动堆栈和故事板相关的所有内容的方法。

答案 1 :(得分:0)

我认为您的问题可以通过“startactivityforresult”来解决

//Activity A
private void someMethod()
{
   this.startActivityForResult(intentForActivityB, 123456);
}


@Override
protected void onActivityResult(int request, int result, Intent intent)
{
   if(request == 123456 && result == Activity.RESULT_OK)
       this.finish();

   super.onActivityResult(request, result, intent);
}


//Activity B
private void someMethod()
{
   this.setResult(Activity.RESULT_OK);
   this.finish();

}

当活动B为OK(setResult)时,这将关闭活动A,仅在这种情况下