2012-02-15 4 views
6

私のプロジェクトでのアクティビティの起動に問題があります。AndroidのLauncher + singleTaskアクティビティ

私の 'Home'アクティビティ(H)は、サービスを選択できます。 S11 - > ... - > S1nはサービス(S1)のアクティビティフローです。 Hは私のアプリのLAUNCHER活動です。

また、私はHから別のアプリに切り替える必要があります。そのアプリケーションの動作を変更できないので、自分のHアクティビティを 'singleTask'として宣言して、アクティビティスタックに複数のインスタンスを持たないようにする必要があります。

問題は、Hの後にプッシュされたアクティビティを切り捨てずに再起動することができないということです。たとえば、H-S11-S12がある場合、HOMEを押して最近のアプリケーションメニューから再起動します。フォアグラウンド活動。

アイデア?この組み合わせを有効にする方法はありますか?ありがとう!

+0

Fragmentsを使用するには、あなたがより良い例でそれを説明することができ、あなたは.... Hから別のアプリに切り替えて、それに戻ってする必要性、および活動S11とはどういう意味ですか? – user2450263

+0

だから、問題は、最近のアプリリストからアプリを開いたときに、スタック内の他のアクティビティがスタックに残っているはずなのでしょうか? – himanshu1496

+0

「他のアプリ」はどうやって始めるのですか?私はあなたのH活動の複数のインスタンスをどのように引き起こすのか分かりません。 – totoro

答えて

-1

あなたはsingleTaskは必要ありません。 startActivityの代わりにstartActivityForResultを使用してください。 またはその代わりに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); 
    } 
    ... 
} 
関連する問題