web-dev-qa-db-ja.com

画面の保持を無効にする

私が使用した:

getWindow().addFlags(Android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

デフォルト状態(キープオンなし)に戻すにはどうすればよいですか?

67
OkyDokyman

私はこれがそれをやるべきだと思う:

getWindow().clearFlags(Android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

詳細については [〜#〜] api [〜#〜] をご覧ください。

135
Noel

代わりに、画面を保持する必要があるビューでのみAndroid:keepScreenOn = "true"( documentation )フラグを設定する場合、手動でフラグをリセットする必要はありません。

19

別のアプローチ

getWindow().setFlags(this.getWindow().getFlags() & ~WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

これも読んでください

また、Android:keepScreenOn="true" xmlのルートビュー。

4
Xar E Ahmer

ドキュメントから直接:

注:実行中のアプリケーションで画面を維持したくない場合を除いて、FLAG_KEEP_SCREEN_ONフラグをクリアする必要はありません(たとえば、一定の非アクティブ期間後に画面をタイムアウトさせたい場合)。ウィンドウマネージャーは、アプリがバックグラウンドになったとき、またはフォアグラウンドに戻ったときに正しいことを確実に実行します。ただし、フラグを明示的にクリアして、画面を再びオフにする場合は、clearFlags():getWindow()。clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)を使用します。

0