どうも。どっことです。今回は、ディスプレイスリープを無効にする実装方法を解説します。
ディスプレイスリープを無効に設定する
動画の再生中やドキュメントの表示中、タイマー表示中などの画面を常に表示しておきたいケースでディスプレイがスリープしてしまうのは避けたいと思います。アプリ側でディスプレイがスリープしてしまうことを無効にする設定があるので、今回はこちらを解説したいと思います。ただし、スリープを無効にすることは電力消費の観点から必要最低限の範囲で設定することを心がけましょう。
スリープを無効に設定する
スリープを無効にするためにはActivity
から参照できるwindow
インスタンスに対して、FLAG_KEEP_SCREEN_ON
のフラグを設定します。
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
スリープ無効設定をクリアする
スリープ無効設定をクリアするためには、window
インスタンスに対して、FLAG_KEEP_SCREEN_ON
のフラグをクリアしてあげます。
window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
まとめ
今回はディスプレイがスリープされる設定を無効にする実装方法を解説しました。使い所が限られる機能ですが、動画再生などディスプレイをスリープさせたくないような利用方法をアプリに提供する場合、必要な実装になりますので参考にしていただけると幸いです。