2010-12-28 30 views
2

私は自分のホームランチャーの交換に取り組んでいますが、それはうまくいきますが、1つのことが私を悩ましています。ホームキーを押すと、現在のホームアクティビティ(メイン/デフアル/ランチャー/ホームとしてマニフェストに定義されているアクティビティ)が再開されます - 現在のアクティビティインスタンスonpauseが実行され、再びoncreateが起動されるので、新しいアクティビティが発生します。カスタムホームランチャーアプリの再起動を防ぐ方法を教えてください。

一方、ADWランチャーとLauncherPRoは、私の場合のようにリフレッシュしません。あなたは引き出しやプレスホームを開くと、それだけで、

  1. アプリのアイコンと、メイン画面上にある場合、それはすべての画面のスナップショットを見るためにズームアウト、
  2. :ランチャープロでもいくつかのアクションを行うことができますメイン画面に戻ります。

どうすればいいですか?

私はちょうど1つのアクティビティ(マニフェストではmain/defualt/launcher/homeとして定義されています)を使って、まったく単純なプロトタイプを作成しました。同じことを見る - 私はHomeを押すと再作成されます。

答えて

3

マニフェストの<activity>要素にandroid:launchMode="singleInstance"を追加します。

+0

android:launchMode = "singleTop"も正常に動作するはずです。私が理解しているようにsingleInstanceが使用されていると、他のアクティビティを呼び出すことはできません。 – mishkin

+1

@mishkin:私は、SDKのHomeサンプルアプリケーションを使っています。これは 'singleInstance'を使います。不思議なことに、AOSPランチャーは 'singleTask'を使います。 – CommonsWare

+0

[余分な]質問に関する情報のために関連する@CommonsWareの回答を追加:[Androidランチャーは、ランチャーのホームをデフォルト画面に移動する](http://stackoverflow.com/a/13203826/383414) –

関連する問題