2012-02-15 61 views
6

我在項目中啓動活動時遇到問題。Android中的啓動器+ singleTask活動

我的'家'活動(H)允許選擇一些服務。比方說S11 - > ... - > S1n是服務(S1)的活動流程。 H是我的應用程序的LAUNCHER活動。

另外,我需要從H切換到另一個應用程序並返回到它。由於我無法更改該應用的行爲,因此我必須將我的H活動聲明爲「singleTask」,以防止在我的活動堆棧中存在多個實例。

問題是我的應用程序無法重新啓動,而不切斷H.之後推動的活動。例如,如果我有H-S11-S12,然後按HOME並從最近的應用程序菜單中重新啓動,我將H前臺活動。

任何想法?有什麼辦法讓這個組合起作用嗎?謝謝!

+0

你可以用更好的例子解釋一下,你是什麼意思的需要切換到自H另一個應用程序,並返回到它,並且活動S11 ....? – user2450263 2016-04-09 10:25:16

+0

所以問題是,當你從最近的應用程序列表中重新打開應用程序時,堆棧中的其他活動應該保留在堆棧中,對嗎? – himanshu1496 2016-04-11 10:31:55

+0

你如何開始「其他應用程序」?我看不到它是如何導致H活動的多個實例的。 – totoro 2016-04-11 16:32:55

回答

-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); 
    } 
    ... 
}