setKeepScreenOn / FLAG_KEEP_SCREEN_ON の正しい方法 質問する

setKeepScreenOn / FLAG_KEEP_SCREEN_ON の正しい方法 質問する

私はメソッド setKeepScreenOn(true) を使用していますが、現在のアクティビティ (コンテンツ ビューが設定されている) に関連してこれを呼び出す方法がわかりません。ビューに常に表示されるボタンの 1 つで呼び出すことで動作させることはできましたが、これは間違っているように感じます。この問題を回避する方法があるはずです。現在のフォーカスを次のように参照してみました。

getCurrentFocus().setKeepScreenOn(true);

しかし、NullPointerException が発生しました。おそらく、現在フォーカスがなかったのでしょう。そこで、私が作業しているビュー クラスを参照する方法を教えていただけませんか? ありがとうございます :)

ベストアンサー1

試すこの答え:

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

getWindowアクティビティ用に定義されたメソッドであり、View最初に検索する必要はありません。

おすすめ記事