ランチャーアイコンが既に起動していても、そのアプリケーションが起動しているという問題があります。私はその活動のためにsingleTaks
を使用し、多くのStackoverflow Answersが言った - >これは問題を解決するはずです - しかし、それはありません。あなたが見ることができるようにランチャーがクリックされてもアプリケーションが起動していても、起動しています
<activity
android:name=".activities.ActivitySplash"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
iはlaunchMode
はsingleTask
であると定義しました。私はアプリケーションを開きます。画面Xに移動します(私はStartscreenに留まることさえあり、同じ効果があります)、今度はホームボタンを押します。ランチャーアイコンをもう一度押すと、既に実行中のアプリケーションはポップアップしないか、または再開しています(望むように呼び出す)。代わりに、アプリケーションは完全に新しい状態で開始されます。
singleTask
が動作しない場合、どうすればその動作を防ぐことができますか?
あなたのアクティビティを退去させるかどうかを制御することはできません。 Android OSはそれを処理します。時間が過ぎたり、何か他のリソース(RAMが特に必要)が必要な場合、あなたのアクティビティは破壊されます。 – Vucko
時間は数秒で起こっているので、私の問題とは無関係です。私はWhatsappをテストして、それを自分のアプリの動作と比較しました。 Whatsアプリは、すでに実行中の場合は常に再開します。たとえそれが何時間もバックグラウンドにあったとしても。私のアプリは、それがバックグラウンドに数秒間いるときにも再開しません。 – Mulgard
さて、whatsappはおそらく 'onCreate()'と 'onResume'で' savedInstanceState'パラメータを使用しています:) – Vucko