7

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

我的“家庭”活动 (H) 允许在其中选择一些服务。假设 S11->...-> S1n 是服务 (S1) 的活动流。H 是我的应用程序的 LAUNCHER 活动。

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

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

有任何想法吗?有没有办法让这种组合发挥作用?谢谢!

4

1 回答 1

-1

你不需要单任务。使用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);
    }
    ...
}
于 2016-04-11T15:38:03.707 回答