1. 概述
针对 Android SystemUI 中的屏幕录制(Screen Record)功能进行了两项行为优化:
这两项改动提升了屏幕录制的易用性,减少了用户每次录制时的额外操作,并满足在锁屏场景下持续录制的业务需求。
2. 修改背景与需求
2.1 问题描述
| 1 | 打开屏幕录制时,默认选中「单个应用」模式 | 大多数用户实际需要录制全屏内容,每次需手动切换选项 |
| 2 | 用户锁屏或息屏后,录制自动停止 | 无法在锁屏后继续录制,影响特定场景(如后台演示、长时间录制) |
2.2 优化目标
- 降低屏幕录制的操作门槛,默认即满足最常见的全屏录制需求。
- 锁屏不中断录制,提升录制连续性与灵活性。
- 保持通过系统属性可配置的能力,便于后续按需回退或定制。
3. 修改内容详解
3.1 修改文件清单
frameworks/base/packages/SystemUI/src/com/android/systemui/screenrecord/
├── RecordingService.java
└── ScreenRecordPermissionDialogDelegate.kt
3.2 变更一:默认录制模式改为「整个屏幕」
文件:frameworks/base/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenRecordPermissionDialogDelegate.kt
修改说明:
- 新增 ENTIRE_SCREEN 常量导入。
- 将 defaultSelectedMode 参数从 SINGLE_APP 改为 ENTIRE_SCREEN。
代码对比:
+import com.android.systemui.mediaprojection.permission.ENTIRE_SCREEN
– defaultSelectedMode = SINGLE_APP,
+ // Create by yeruilai 2026-1-14 11:18:02 Modify the default setting to record the entire screen
+ // defaultSelectedMode = SINGLE_APP,
+ defaultSelectedMode = ENTIRE_SCREEN,
技术原理:
ScreenRecordPermissionDialogDelegate 继承自 BaseMediaProjectionPermissionDialogDelegate,在创建屏幕录制权限弹窗时,defaultSelectedMode 决定了单选列表的初始选中项。可选模式包括:
| SINGLE_APP | 录制单个应用 |
| ENTIRE_SCREEN | 录制整个屏幕 |
修改后,用户打开屏幕录制入口时,弹窗将默认高亮「整个屏幕」选项,用户可直接点击「开始」而无需额外切换。
3.3 变更二:锁屏不停止录制
文件:frameworks/base/packages/SystemUI/src/com/android/systemui/screenrecord/RecordingService.java
修改说明:
- 将系统属性 sysui.screenrecord.screenoff.enable 的默认值从 false 改为 true。
代码对比:
– boolean enableScreenoff = SystemProperties.getBoolean("sysui.screenrecord.screenoff.enable", false);
+ // Create by yeruilai 2026-1-14 11:18:02 Recording is still possible after the screen is turned off
+ // boolean enableScreenoff = SystemProperties.getBoolean("sysui.screenrecord.screenoff.enable", false);
+ boolean enableScreenoff = SystemProperties.getBoolean("sysui.screenrecord.screenoff.enable", true);
技术原理:
RecordingService 在启动时会根据 enableScreenoff 决定是否注册锁屏/息屏相关的广播监听:
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_SHUTDOWN);
if (!enableScreenoff) {
// 注册锁屏、息屏等广播,触发后停止录制
intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
// …
}
| false(修改前默认) | 注册 ACTION_SCREEN_OFF 等广播,锁屏/息屏时停止录制 |
| true(修改后默认) | 不注册锁屏相关广播,录制在锁屏后继续 |
注意:ACTION_SHUTDOWN(关机/重启)的广播监听仍然保留,关机或重启时录制仍会正常停止,符合预期安全行为。
4. 效果对比
4.1 默认录制模式
动态对比(GIF)

静态对比
![]() |
|
![]() |
|
| 弹窗默认选中「单个应用」 | 弹窗默认选中「整个屏幕」 |
4.2 锁屏录制行为
动态对比(GIF)

静态对比
![]() |
|
![]() |
|
| 锁屏后录制指示器消失,录制停止 | 锁屏后录制指示器保持,录制继续 |
4.3 锁屏行为流程图

5. 系统属性配置
如需在运行时覆盖默认行为,可通过 adb 设置系统属性:
# 启用锁屏续录(与 Patch 修改后默认行为一致)
adb shell setprop sysui.screenrecord.screenoff.enable true
# 恢复锁屏停止录制(修改前默认行为)
adb shell setprop sysui.screenrecord.screenoff.enable false
属性修改后需重启 SystemUI 或重新发起录制方可生效:
adb shell killall com.android.systemui







![[Android] 即存 -10+平台视频下载-171主机测评](https://www.171host.com/wp-content/uploads/2026/10/20261029031849-6ae2bb19c8977-220x150.jpg)


