私は、最初のアクティビティ(A - ランチャで指定されたもの)を持つアプリケーションを持っています。私は、アクティビティBの状態を保存しています(onSaveInstanceState()とonCreate()にリストアしています)。ホームボタンを押した後にアプリケーションを再起動すると、現在の初期アクティビティが表示されない
ユーザーがホームボタンを押して(つまり、アプリがバックグラウンドに移行して)すぐにアプリを再起動した場合、Bを起動した後のいくつかの携帯電話(N1とMotrolaマイルストーンは今のところギャラクシーSではありません)アクティビティA(Bではなく)しかし、最近のアプリ(ホームボタンの長押し)から起動すると、アクティビティBに移動します。
Androidのドキュメントについては、タスクが終了していない限りここではアプリの画面からアクティビティを再起動する以外は何もしません)、起動時にアクティビティBが復元されることがわかります(スタックの上にあるように)。だから私はちょうどここで何が間違っているか把握していないようです。
アプリの使用中にBTWの方向変更がうまくいきます(すべてが保存され、元に戻されます)。この奇妙な問題は今や私を悩ませています。試行錯誤の結果、私はそのアクティビティのオリエンテーションを無効にし、再起動してBを期待どおりに表示しようとしたときに、
他の誰かがこのようなことに直面していますが、どうすればこれを解決できますか?
私はSharedPreferences(前述のようにin this post)で実行中のアクティビティを保存していますが、アクティビティAのアクティビティから復元していますが、ここで何か不足しているかどうかを知りたいと思います。 B restored on re-launchをデフォルトの動作にする必要はありませんか?
android:launchMode="singleTask"
私が正しくあなたの問題を理解していればこれが....私のアプリで問題を解決:マニフェストファイル内の自分の活動にこれを追加すること
ところで、この動作がAndroidサンプルアプリにも存在することが確認されました。 Photostreamアプリ(http://developer.android.com/resources/articles/faster-screen-orientation-change.html)とContactManager(http://developer.android.com/resources/samples/ContactManager/index)を試してみました。 .html)。両方とも同じ問題を示しています。 –
さて、あなたはあなたの活動をどのように開始するかを常に見ていることができます。あなたが提供するドキュメンテーションから、特に[android:alwaysRetainTaskState'と 'android:clearTaskOnLaunch']を見ることができます(http://developer.android.com/guide/topics/manifest/activity-element.html)。とにかく、アイコン/ショートカットを使用して再起動したときの主なアクティビティから始まる** **はデフォルトの動作です。 –
このAndroidのバグが表示されている可能性があります:http://stackoverflow.com/questions/11296203/on-click-of-shortcut-on-homescreen-launching-from-spalsh-screen-in-android –