我在项目中启动活动时遇到问题。
我的'主页'活动(H)允许在其中选择一些服务。让我们说S11-> ...-> S1n是服务的活动流程(S1)。 H是我的应用程序的LAUNCHER活动。
此外,我需要切换到H的另一个应用程序并返回它。由于我无法更改该应用行为,因此我必须将我的H活动声明为“singleTask”,以防止在我的活动堆栈中有多个实例。
问题是我的应用程序无法在不切断H之后推送的活动的情况下重新启动。例如,如果我有H-S11-S12,然后按HOME并从最近的应用程序菜单重新启动我得到H作为前景活动。
有什么想法吗?有没有办法让这个组合起作用?谢谢!
答案 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);
}
...
}