2

我的应用程序实现了一个涉及 3-4 个活动的操作。此流程的入口点可以来自应用程序中的不同活动。(HomeActivity,各种displayActivity)。一旦最后一个活动成功完成,我想返回开始活动。

有最佳实践方法吗?谢谢你。

4

2 回答 2

1

您可以使用全局静态布尔值来帮助您解决这个问题(在示例中SomeClass.IsClosingFlow),另外,如果每个活动都在“流”中,您应该定义每个活动以“标记”(流=意味着它是需要的活动包的一部分被关闭)。isActivityInFlow()如果您的所有活动都在扩展一些抽象活动(即),我建议使用此标记作为抽象方法。

以下代码演示了这一点,它需要放置在onResume()应用程序中的每个活动中:

    // Check to see if we are in the process of closing activities
    if (SomeClass.IsClosingFlow){
        if (isActivityInFlow()){
            this.finish();  
        }
        else{
            // If we got here, and we're not in the flow anymore
            SomeClass.IsClosingFlow = false;
        }
    }
于 2013-01-24T19:32:44.423 回答
0

有很多不同的方法来管理这种应用程序流。一种可能对您有用且非常简单的方法是仅startActivityForResult()在您从一项活动调用到下一项活动时使用。然后,当您最终完成时,您只需设置结果并调用finish(). 然后,您可以在每个活动中实施onActivityResult(),以便它设置结果并finish()自行调用。通过这种方式,您可以将多个活动链接起来,然后链接回启动链接的人。

于 2013-01-24T19:37:26.520 回答