私のアプリでは、メディアファイルを再生し、ユーザーが画面を回転させて(アクティビティを破棄しても)再生を続けたいが、ユーザーが別のアクティビティに移動したり別のアクティビティが表示された場合これは、何でも、バックボタンを押します。Froyoで設定変更が発生したことをどのように伝えますか?
これはHoneycombにはAPIがあると思いますが、Android 2.2で動作するものが必要です。
多くの作業や潜在的なバグのように聞こえるコンフィギュレーションの変更をすべて処理するためにonConfigurationChangedを使用するのではなく、onRetainNonConfigurationInstance()の問題はonStopの発生後まで実行されないということです - ただし、onPauseは、適切な場合、メディアを一時停止する論理的な場所です。
onPauseには、設定が変更されたためにアクティビティが一時停止されているかどうかを確認する方法はありますか?
興味深い考え方、ジュリアン、詳細な例に感謝します。アンドロイド:configChanges = "オリエンテーション"をマニフェスト内の関連するアクティビティに追加すると、それは効果を発揮しますが、期待通りの効果はありません。 onConfigurationChangedは発火しますが、onPause/onStop/onDestroyは呼び出されません。それは、「画面を回転させるとアクティビティを破壊する」という問題を回避する方法の1つですが、Googleが推奨する方法ではありません。しかし、ありがとう! –
更新された回答を参照してください。マニフェストへの変更やonDestroy()の呼び出されたままではありません。 –
新しい答えがうまくいくようです! OnRetainNonConfigurationInstanceはonStopの後でonDestroyの前に起動し、このコードonDestroyを使用すると、設定変更のためにシャットダウンするかどうかを正確に判断できます。ありがとう! –