Android中的Launcher + singleTask活动

时间:2012-02-15 09:30:27

标签: android activity-lifecycle

我在项目中启动活动时遇到问题。

我的'主页'活动(H)允许在其中选择一些服务。让我们说S11-> ...-> S1n是服务的活动流程(S1)。 H是我的应用程序的LAUNCHER活动。

此外,我需要切换到H的另一个应用程序并返回它。由于我无法更改该应用行为,因此我必须将我的H活动声明为“singleTask”,以防止在我的活动堆栈中有多个实例。

问题是我的应用程序无法在不切断H之后推送的活动的情况下重新启动。例如,如果我有H-S11-S12,然后按HOME并从最近的应用程序菜单重新启动我得到H作为前景活动。

有什么想法吗?有没有办法让这个组合起作用?谢谢!

1 个答案:

答案 0 :(得分:-1)

您不需要singleTask。使用startActivityForResult代替startActivity。 或使用Fragments代替Activities

startActivityForResult(new Intent(H.this,S11),1);

public onActivityResult(int requestCode ){
    if(requestCode == 1){
       startActivityForResult(new Intent(H.this,S12),2);
    }else if(requestCode == 2){
       startActivityForResult(new Intent(H.this,S12),3);
    }
    ...
}