Android在应用运行时禁用屏幕超时

cla*_*amp 106 android

有没有办法在我的应用程序运行时禁用屏幕保护程序?

我的意思是屏幕变暗.

Ian*_*ton 160

你想使用这样的东西:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)

  • 这使它成为运行活动或整个应用程序? (4认同)

小智 93

我用了:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)

禁用屏幕超时和

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)

重新启用它.


net*_*ein 80

Google还建议采用XML方式:

<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:keepScreenOn="true">
Run Code Online (Sandbox Code Playgroud)

检查Google幻灯片 - 幻灯片16.

"如果被遗忘,唤醒锁是昂贵的(...)考虑使用android:keepScreenOn以确保正确性"

  • 对于那些没有时间阅读链接的pdf的人:“如果忘记了唤醒锁,则代价很高”,“请考虑使用android:keepScreenOn来确保正确性”。 (2认同)
  • @ lenrok258已添加到答案;-) (2认同)