0

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

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

我很清楚,这不是常见且好的解决方案。如何管理不需要的“onPaused”活动?如何确定活动是否已暂停并对其调用恢复?

谢谢你。

4

2 回答 2

1

我认为您需要阅读有关Intent Flags的文档:

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

于 2012-10-31T18:00:52.827 回答
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 正常(setResult)时关闭活动 A,仅在这种情况下

于 2012-10-31T18:13:20.013 回答