android - 在我的 Activity 期间保持屏幕保持清醒

标签 android screen

我的应用中有三个 Activity 。我想在第二个 Activity 中保持屏幕唤醒。除非手动按下“锁定”键,否则屏幕不应在我的第二个 Activity 中熄灭。我浏览了许多链接,但对我来说似乎不清楚。

最佳答案

如 Android 教程 Keep the Screen On 中所述, 你可以通过几种方式做到这一点。您可以在 Activity 的窗口上设置 FLAG_KEEP_SCREEN_ON:

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

一种等效的 XML 方法是将属性 android:keepScreenOn="true" 添加到 Activity 布局的 Root View 中。以编程方式设置标志的好处是可以使用

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

当您不再需要在 Activity 运行时强制屏幕保持打开状态时。

控制屏幕(和某些其他资源)的另一种方法是使用唤醒锁:

mWakeLock = ((PowerManager) getContext().getSystemService(Context.POWER_SERVICE))
    .newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, getClass().getName());
mWakeLock.acquire();
// screen stays on in this section
mWakeLock.release();

list 必须包含此权限:

<uses-permission android:name="android.permission.WAKE_LOCK"/>

但是,正如教程中所讨论的,唤醒锁更适合其他用例(例如需要 CPU 在屏幕关闭时继续运行的服务或后台任务)。

关于android - 在我的 Activity 期间保持屏幕保持清醒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8442079/

相关文章:

java - 写入整个对象以登录java

Android:loopj 未导入

ios - Iphone X 屏幕未覆盖 cordova 项目中的页眉和页脚

android - Card.io 和 Braintree 相机不可用异常

安卓原生webrtc : add video after already connected

android - 使用带有 gradle OFFLINE 的 intelliJ 进行 android 开发

安卓 2.2 : Turning of screen under certain times of the day by code

android - 屏幕支持使用 layout-large、layout-normal 和 layout-xlarge 文件夹的多个设备

android - 防止其他应用程序形成捕获/记录屏幕

javascript - 检测窗口宽度并补偿滚动条 - Javascript