アプリが表示されているときに電話がスリープ状態にならないように、アプリケーションで Wakelock を使用しています。
問題は、向きの変更があり、システムが横向きモードでアプリを破棄して再作成するときに発生します。ウェイクロック タイマーがバックグラウンドで期限切れになった場合、システムはウェイクロックのリリースを画面をオフにする機会と見なします。
編集: Wakelock onResume を設定し、onPause を解放していることに言及する必要があります。私が理解しているように、アプリがウェイクロックをリークするのを防ぐために解放する必要があります。
向きの変更を続行するには、ウェイクロックが必要です。
以下に、これに対する解決策を概説しました。これはそれを処理するための好ましい方法ですか?代替手段はありますか?
(アクティビティではなく) ウェイクロックを保持するサービスを作成し、アクティビティがバインドを解除すると、サービスはカウントダウン タイマー (たとえば 10 秒間) を開始します。単純な向きの変更の場合、アクティビティはその 10 秒以内に再バインドされるため、ウェイクロックが維持されます。そうでない場合は、ウェイクロックが解放されます。
ありがとう。