# 应用管理与常用应用 当前源码的桌面设置标签顺序为:桌面显示、看电视、天气设置、应用管理、儿童模式、文件传输、版本更新、诊断日志。“首页应用”和“应用排序”标签已移除,添加、替换、移出首页及排序通过桌面长按菜单操作;旧入口和保存的旧页面状态统一进入“应用管理”,保留原有首页配置和排序。八个标签共用一个窗口和右上角的“更多”入口,机型适配和首次配置交给电脑 AI,应用管理保留本机 TCP ADB 日常操作;原“关于”按钮与“更多 → 诊断日志”入口移除。儿童模式移除应用数量说明和搜索应用入口,保留修改家长密码与计时服务。各标签共用内容区顶部间距,右侧内容隐藏滚动条,仍支持遥控焦点带动滚动。已发布旧包可能仍使用旧入口。 八个标签和应用管理的六个筛选胶囊用白底表示已生效,用带深色间隔的白色外框持续表示遥控器焦点,确认键按下时压暗胶囊,松开后恢复。主标签左右即切换,下键进入内容,上键从内容首项返回当前标签;筛选左右只移动焦点,确定后应用筛选。焦点移开时外框消失,已生效的选项保留白底;焦点返回白底选项时重新显示外框,不依赖鼠标悬停。 [首页](../README.md) · [使用指南](USAGE.zh-CN.md) · [桌面配置与恢复](SETUP.md) ## 文件传输助手 “文件传输”位于儿童模式与版本更新之间,文件传输独立于 ADB。进入页面自动开启传输,左侧固定显示连接二维码;右侧“已接收、本地存储、U 盘”通过遥控器左右键即时切换,无需按确定,向下进入文件列表;选中文件按确定打开操作弹窗,关闭后焦点返回文件列表。优先在应用内浏览已授权的可读存储;“选择文件”提供系统单文件选择、目录授权和重新读取入口。安卓6–12申请存储读取权限,安卓13及以上申请图片、视频读取权限;其他普通文件仍需系统单文件或目录授权,不申请全部文件访问权。未挂载、无权限与无入口分别保留为不可用,不改动 U 盘或原文件。 安卓5及以上在系统返回可持久授权时,仅保留所选目录的读取权限,并分别记住“本地存储”和“U 盘”最近授权的目录。重启后重新进入对应来源即可恢复浏览,无需再申请图片/视频权限;目录内容仍以当时实际读取结果为准。更换目录后释放本来源已替换的旧读取授权;两个来源共用同一目录时保留共用授权。授权被撤销、目录被移走或存储离线时显示相应提示,保留入口供重新授权或连接后重读;不把读取失败显示成空目录。系统仅返回临时授权时明确提示重启后需重新授权,不覆盖原先可恢复的目录记录。部分旧系统的选择器只显示“最近”,需先在其菜单中显示 SD 卡/内部存储,再选择目录。 手机或电脑在同一局域网扫码,或输入地址及电视显示的六位连接码。多个文件排队发送,同名文件独立保存,单文件最多200 MiB,接收区最多500 MiB及200个文件。电视明确加入下载列表的文件才向浏览器提供下载。离开文件传输一级标签、离开管理页、息屏、地址变化或十分钟会话到期后关闭链接;页内切换三种来源不关闭连接。手动结束后可在本页重新开启,再次进入页面默认开启新会话;新会话不继承旧连接码或下载列表。不做后台常驻、断点续传或失败后自动重放。 图片、视频从已接收文件或本地/U盘导入,复用现有壁纸格式、容量检查及播放器,视频预览沿用全局壁纸声音设置。预览后点击“设为壁纸”才应用,接收本身不改壁纸。导入后拔出U盘不影响壁纸;删除接收文件不删除已导入的壁纸。图片输入最多60 MiB、4000万像素,导入最高保留4K;视频仍受200 MiB及既有规格限制。壁纸库不设数量或总容量配额,保留实际剩余空间检查。普通文件只收发保存,不自动执行。壁纸设置中的“上传壁纸”直接打开专用上传弹窗,关闭后仍停留在壁纸设置;完整文件传输从应用管理的对应标签进入。 APK 上传后保存在接收区,由用户在电视选中文件并点击“安装应用”,查看应用名称、包名、版本及新安装/覆盖安装状态,再交由系统安装器确认;接收完成不会自动安装。支持 `.apk` 及 `.apk.1`、`.apk.2` 等末尾附加一段数字的文件名,扩展名不区分大小写;文件名匹配后仍须通过真实 APK 校验。本地存储和 U 盘中的 APK 会先保存到接收区再进入确认页,原文件不变。仅支持完整单 APK,不支持 APK 分包集合(APKS、XAPK 等);检查解析、可读取的系统要求、处理器架构、已安装版本及签名,最终兼容性仍由系统安装器判定。签名不符或低版本包不通过卸载、清数据或强制降级解决。旧系统检查全局未知来源开关,安卓8及以上按系统要求授权安装来源,授权返回后仍需用户再次选择安装。安装结果结合系统返回值和实际安装的包名、版本、签名及更新时间核对;取消、失败和待核对状态分别显示,不自动重试。 | 档位 | 共同能力 | 文件来源差异 | | --- | --- | --- | | 标准、酷开及其他已支持包名 | 同一传输页面、接收/选定文件下载、壁纸导入、单文件管理 | 系统文件/目录授权;安卓9及以下可按读取权限浏览已挂载目录 | | legacy14、legacy19 | 共用收发、列表与壁纸检查,视频沿用旧系统播放器 | API14–18采用可用文件选择器或可读目录;API19可用文档选择器;安卓4.x不提供系统尚未支持的目录树授权,继续按读取权限浏览共享存储/U盘。API21以上可持久保存目录读取授权 | | 安卓版本 | APK 安装方式 | | --- | --- | | 安卓4.0–4.4(legacy14、legacy19) | 将所选 APK 校验复制到应用专属外部目录,通过系统文件安装器确认 | | 安卓5–6(API21–23,含适用的厂商包名) | 优先使用系统安装会话;仅接口明确未实现或确认页不存在时,释放本次会话后回退文件安装一次 | | 安卓7及以上(含酷开等已支持包名) | FileProvider 仅临时授权所选接收文件的读取,打开系统安装器;安卓8及以上检查来源授权 | 未获得安装来源授权时,点击安装会弹出“允许安装应用”,提供“取消”和“去系统设置授权”。安卓8及以上进入当前 Quiet TV 的安装来源设置,旧系统进入安全设置。返回后重新检查权限;仍未授权时保留再次前往设置的入口,授权成功后仍须用户再次选择安装,不自动安装。请求跳转不代表系统页面已经显示;固件未提供可用授权页或策略禁止时报告限制,小米 MiTV-MFTP0 的页面未显示问题尚未取得真机验证。 此入口独立于 Quiet TV 官方签名更新清单,不使用 ADB 静默安装。旧系统无法预读的限制交由系统安装器判断。安装器不可用或厂商策略拒绝时报告限制,不绕过系统策略。 本地HTTP与JVM测试、跨档编译和Lint不能证明电视网络、真实U盘文件系统、存储授权入口及实体遥控器可用,需分别真机验收。 ## 入口与列表 全部应用 → 应用管理。列表显示名称、包名、版本、预装/用户类型和当前状态,支持六个筛选,顺序为全部、用户应用、预装应用、隐藏应用、已禁用、可恢复。未连接时读取本地包信息,连接后核对当前用户的实际包状态。 筛选直接展开在列表上方;右上角仅保留“更多”。详情保留封面、自启,并按本机规则和系统能力显示禁用、重新启用、卸载、恢复安装。开发源码在进程启动、解锁、亮屏及进入应用管理时,使用已有授权静默连接本机 TCP ADB;未授权或授权失效时停止,不发送会触发系统授权弹窗的公钥请求。只有用户主动点击应用管理的 ADB 连接按钮才允许请求授权;随后发生的自动重连仍使用静默模式。系统 ADB 开关保持原状。连接由应用进程共享,切换标签、离开管理页或灭屏不会主动断开;进程被系统结束后,下次启动重新核对并连接。首次端口配置、授权和机型规则仍交给 AI。普通用户应用未连接时仍可通过系统卸载页面处理。 列表右侧显示连接状态文字:已连接为绿色,连接中为暖色,未连接为灰色。已连接期间每30秒执行一次只读用户与通道检查,亮屏和返回页面时立即核对;端口暂不可用时每30秒重连一次。授权超时、身份或用户核对失败后停止定时重试,等待用户点击状态按钮或下一次启动、亮屏、进入页面再检查,不重复弹出授权提示。重连与管理命令使用同一队列,不中断正在进行的管理操作,也不自动重放禁用、卸载等写操作。 | 档位 | 管理连接保持 | 系统调试开关恢复 | | --- | --- | --- | | 标准安卓5及以上、酷开独立包及其他已支持的包名 | 共用进程连接、自动连接及检查重连,不按品牌限制 | 沿用电脑已配置的保持选项和写安全设置权限;安装新版不能代替首次配置 | | 安卓4.0–4.4兼容包 | 共用上述连接逻辑,仍要求固件已开放并授权本机TCP端口 | 维持现有系统能力限制,不承诺自动开启调试或跨重启端口恢复 | 保持管理会话与恢复系统调试开关是两项独立能力。系统调试被关闭时断开管理会话,重新开启后再尝试;本修复不自行授予权限或覆盖用户已关闭的保持选项。只提供现代无线配对、没有本机TCP通道的设备仍需按实际能力处理,不能凭电脑连接成功显示应用已连接。旧版 adbd 可能不能同时服务电脑和本机会话,电脑调试需按设备实际通道安排。上述源码行为尚需对应旧固件真机验收。 禁用保留数据并记录原启用状态;预装应用卸载仅限当前用户,必须先确认系统保留安装包、支持恢复命令且规则允许恢复。恢复安装不恢复已删除的数据。原桌面、代理与关键依赖继续走专门的配置/恢复流程;未知预装包先由 AI 核对并下发规则,不根据名称猜测可卸载。操作记录在“更多 → 操作记录”;历史记录保留,不作为数据备份。断连不自动重放操作,重新连接查询真实状态。 1.3.0累加测试版130/131已包含上述日常按钮;原117/118包不具备此能力,需手动覆盖更新。标准与安卓4.0–4.4共用操作流程;实际按钮由固件命令能力决定,API14–19实际运行与操作验收仍延期。仅支持现代无线配对的设备不能直接使用此 TCP 通道;AI 必须报告不支持,不能把电脑已连接视为应用已获授权。 ## 版本更新(开发源码) “版本更新”紧跟“儿童模式”,在标签内容区显示原关于页的版本、检查更新、项目、联系方式、离线许可与家长恢复码入口;原有更新校验保留;查看恢复码须先验证家长密码,忘记密码页只接受输入事先保存的恢复码。新版本角标移到“版本更新”标签。离开标签会隐藏恢复码并暂停当前更新弹窗;离线许可位于同一内容区,可返回版本信息或向上回到标签栏。原 AboutActivity 入口也打开同一管理窗口的“版本更新”标签。 内容采用三栏布局:应用版本与检查更新、电视配置、项目与联系方式;底部保留许可、致谢和恢复码。电视配置显示系统提供的型号、品牌、安卓版本与 API、芯片型号、支持的架构、系统可用总内存、应用数据分区可用和总容量、当前显示模式及固件版本。重新进入标签或返回前台时刷新容量和显示信息,字段不可读时明确标注,不申请额外权限。旧系统无法读取芯片型号时不根据平台代号猜测;Android 6 以下显示“界面渲染”尺寸,不作为面板物理分辨率。完整固件指纹及桌面环境仍通过“诊断日志”查看。 ## 诊断日志(开发源码) “诊断日志”紧跟“版本更新”,进入标签后在内容区生成手机扫码下载入口,可主动重新生成;不再弹出独立对话框。切换标签、离开管理页、息屏、地址变化或链接过期后,旧下载链接失效,返回标签会重新生成。Quiet TV 进程启动后自动记录页面切换、应用启动与管理、桌面设置、首页应用与排序、壁纸、ADB 阶段、桌面守护和息屏亮屏等关键事件及已接入的错误;无需手动开始或结束,不记录屏幕内容或其他应用内部操作,不保存问候语、密码、配对码或异常消息原文。 导出增加“显示与绘制”:分别记录原始当前模式、原始与 `DisplayCompat` 支持模式、应用可用及系统报告尺寸、密度,以及只读的 `vendor.display-size` 和 `sys.display-size`。两组模式各展开最多 16 项,另记录总数、未展开数和完整列表中 UHD 或以上模式数;兼容修正尺寸与对应原始模式分开标注。厂商属性只保留合法数字尺寸,空值、读取失败和不支持的 API 明确区分。导出窗口在 UI 线程采样;首页在每次恢复或尺寸变化后的绘制中保存本进程最近一次视图、Decor 和 Canvas 尺寸、硬件加速状态及时间,后台导出只读取保存的数值,不持有页面。未采集首页时提示先返回首页再重新生成。视图和 Canvas 尺寸不是底层 Surface 缓冲区尺寸,后者仍需电脑侧核对;模式列表或 4K 视频输入不能单独证明面板规格或原生 4K 界面。不为诊断切换显示模式、修改系统尺寸、建立 ADB 连接或读取屏幕内容。 未捕获异常用 `process.uncaught` 和 `process.uncaught.stack` 分段记录,通过 `crash` 标识和 `part` 序号关联;最多保留三层异常原因,每层前 24 个栈帧,每条最多三个栈帧,单帧最多 200 字符,超长字段用省略号标记。记录异常类型、原始帧数、帧起始序号、被省略帧数及原因链是否截断,最多 24 条栈记录。混淆后的类名和位置原样保留到上述长度上限,开发者须结合对应安装包的映射还原,不以包名前缀筛掉业务帧。不保存异常消息,仍经过原有脱敏、队列和轮转;限时保存后继续交给原异常处理器,不把记录成功当作应用恢复。 桌面设置中的无障碍、通知访问、原桌面,以及天气官网和条款链接,分别记录 `external_activity.request`、`external_activity.dispatched` 或 `external_activity.failed`。记录入口标识、action、显式目标组件、限定包名及 URI scheme,不保存 URI 地址、Intent 参数或其他应用内容。仅在实际 `startActivity` 调用处处理同步运行时异常并提示失败,不重试、不增加备用路由,不自动改变权限或系统配置;原桌面启动失败时守护保持暂停。请求已发出不代表目标页面正常显示,也不能捕获目标应用启动后自行发生的崩溃。 ADB 身份核对记录 `id -u` 的输出、退出码和完整性;核对失败后,仅在已通过本机校验的原连接上补查 `id`、`ro.secure`、`ro.debuggable`、`service.adb.root`。只记录这五项查询的限长、脱敏结果,区分空输出、非零退出、不完整结果和传输异常,不记录任意命令输出、本机校验随机值或密钥。身份规则与管理权限不变。导出显示当前会话最近一次尝试的历史结果,跨进程结果保留在历史事件中;不会为导出新建 ADB 连接或执行命令。 连接尝试用 `adb.attempt.begin`、`adb.attempt.phase` 和 `adb.attempt.result` 关联同一个 `attempt`,包含阶段、上一阶段耗时、累计耗时及最终的 `SUCCESS`、`FAILED`、`TIMEOUT` 或 `CANCELLED`;身份查询使用相同编号并保留内部 `generation`。导出保留本进程最近一次及上一次尝试,断开不会把失败或超时改成取消;旧尝试的迟到回调不能覆盖其最终结果或下一次尝试。`RUNNING` 表示导出时尚未结束,进程退出而无最终事件时只能说明记录中断。阶段耗时使用包含深度休眠的单调时钟,开始及结束时间使用 Unix 毫秒;不记录密钥、配对码、地址或任意异常消息。 设置候选及最终结果使用同一 `attempt`;回退到系统设置时结果注明 `system_settings_fallback`。`DISPATCHED_UNVERIFIED` 只表示系统调用已返回,不能据此判断用户看到了页面;实际显示仍由用户说明或现场视频确认。 原主页识别只记录已选原桌面的判断,不记录其他应用的前台轨迹或页面内容;连续相同判断合并,保留配置不可用、重复事件、稳定等待及允许显示原桌面等跳过原因。暂停或屏幕条件不满足时直接返回,不为诊断查询每个窗口的组件;暂停意愿仍由用户操作事件和导出快照记录。原桌面别名解析在守护状态实例内缓存,目标或固件配置变化、相关包增删、更新或组件状态广播会使缓存失效,服务重连或重建也重新解析;原有就绪和权限检查保持有效。中转请求用 `home_guard.handover` 编号关联来源、原主页 `observation`、资格判断、启动请求、未确认的分发及最终结果;同步拒绝、五秒内无首页回报、取消分别记录,超时后的首次首页回报另记且不改写先前超时,也不证明由该请求导致。`VISIBILITY_CALLBACK` 不等于图形已经上屏。开机广播、屏幕及解锁事件记录实际收到的 action 与运行时间,HOME 广播不作为实体按键证据,进程未运行时不补造事件。跳板记录实际入口是否被接受和当前规则不可用原因,不因诊断启用跳板或申请权限。标准与无 HOME 形态共用记录;安卓 4.4 仅沿用其原有功能范围,不因日志开放守护能力。 桌面配置快照的 `sceneEvidence` 分别提供实体 HOME、重启、断电开机、待机唤醒的用户结果、确认时间和 `evidenceId`,与 `desktop.scene` 事件关联;事件同时注明最近中转编号供查阅,不把它当作因果证明。尚未确认时为 `unverified`,历史记录没有时间或事件编号时保留 0/空值;固件或路线使结果失效时不展示旧证据。程序启动成功及收到开机广播都不会自动将任何场景标为通过。 导出快照同时列出固件预设是否匹配、切换前 HOME 历史组件的当前状态,以及当前用户可见的 HOME 候选总数、前八项状态和未展开数量。候选包含包管理器返回的禁用或保留的未安装记录,注明系统应用、导出与权限、启用设置原值、别名目标及是否可供守护选择;候选不等于已验证的恢复目标,也不证明能够启动。桌面守护分别显示配置开关和无障碍运行就绪状态,不以历史“已进入 Quiet TV”代替当前检查。 信号源、网络、系统设置额外记录:首页右上角焦点进入、切换与离开,确认键及按钮触发,等待动态壁纸退出与进入系统调用的阶段;设置候选的 action、组件、解析结果、被跳过的原因(未安装或无法解析、非系统组件、未导出、禁用、权限限制、HOME 入口或重复目标)、调用异常;信号源服务状态、枚举数量、过滤数量、前八项的服务组件和输入类型、原厂面板与接口可用性、菜单选择、频道权限与是否存在频道、标准及厂商路由结果。其余输入只保留总数,不保存自定义输入名称、频道内容、Wi-Fi 名称、网络地址、Intent 数据或参数值。 系统跳转期间记录首页失焦、暂停、恢复及耗时,供判断按钮是否触发、是否进入系统调用、是否很快返回。调用已发出不代表目标页面正常显示,首页恢复也不能证明是固件关闭或用户返回;不读取其他应用前台内容,不用日志推断物理 HDMI/AV 切换成功。安卓 4.4 记录不支持标准输入接口及转往系统设置的路径。复现后仍通过“应用管理 → 诊断日志”导出同一份 TXT。 返回桌面黑屏排查额外记录 `home.resume.begin`、`home.resume.end`、`home.window_focus`、`home.first_draw` 和 `home.pause`。同一首页实例用 `instance` 关联,每次恢复用递增的 `resume` 编号关联;`uptimeMs` 为系统运行时间(不含深度休眠),`elapsedMs` 为距本次恢复开始的耗时,`sincePauseMs` 为距上次暂停的间隔(首次恢复为 -1)。同时记录窗口焦点、首页应用列表是否就绪及加载中、根布局尺寸和是否仍等待首次绘制回调。每次恢复最多记录一条首次绘制回调,不逐帧写日志,不为诊断强制重绘,暂停时取消未完成的绘制标记。`home.first_draw` 只表示收到本次恢复后的首次 `OnDraw` 通知,回调发生在视图树绘制之前,不证明绘制完成、图形缓冲已提交、系统合成完成或电视屏幕已经显示;“已进入 Quiet TV”也不能代替上屏证据。用户复现后从“应用管理 → 诊断日志”导出 TXT,并说明退出的软件、使用返回键还是 HOME 键、黑屏的大致时间;必要时提供同步拍摄的视频和系统日志。 首页自动更新在应用目录就绪并收到对应绘制回调后排队;同一轮尚未执行的网络变化通知合并,离开首页时取消待执行任务,管理页手动检查不受影响。首次绘制回调不等于应用目录已就绪,也不等于实体遥控器可用。 启动响应排查记录 `home.window_focus.end` 的 `callbackMs`(窗口焦点回调包含后续首页业务的耗时)、`home.autostart.check`(已配置自启时的资格及消费检查耗时)和 `home.update.foreground`(首页更新入口的主线程耗时,不是后台下载总耗时)。`home.catalog.applied` 区分 `workerQueueMs`、`catalogMs`、`prepareMs`、`queueMs`、`applyMs`,分别表示加载任务排队、目录查询、封面及排序准备、等待主线程、主线程应用结果的耗时;布局、绘制与上屏发生在结果应用之后,不能计为其中已经完成。 `home.input.first` 每进程分别最多记录一条首次方向键、确认键和音量键的非重复按下事件,`kind` 对应 1、2、4;只记录标准键码、事件与接收的单调时间、首页实例及就绪/焦点状态,不采集文本或连续按键流。`ageMs` 是事件到应用接收的时间差,可能包含系统和应用调度,不能单独证明主线程阻塞。音量键可能在系统中提前处理,没有应用事件不代表用户没有按键或遥控器没有连接。 日志按当前 Android 用户保存在本应用私有目录,以两个固定文件循环覆盖,合计最多 2 MiB。调用线程只对事件名和已选明细限长、筛选、计数及入队,不拼接整条日志、不执行正则脱敏或 UTF-8 编码;业务调用处仍须禁止传入凭据、任意异常消息及其他敏感原文。编码和脱敏在单个 Android 后台优先级的写入线程执行,空闲 5 秒退出。待写记录最多 32 条,每条明细最多 1,000 字符、事件名最多 96 字符,最终编码记录仍受 4 KiB 限制。普通记录达到 24 条容量后为错误、开始、最终结果及进程启动预留空间;队列满时重要记录可替换普通记录,全部为重要记录时仍会丢弃并计数,不承诺无限负载下无损。 相同事件且明细不变的错误,以及焦点、守护状态和稳定期日志,在 1 秒窗口内保留首条并合并重复次数;明细变化立即保留,开始、最终结果和未捕获异常的所有分段不限频。重复判断只保留最多 16 种事件的限长明细,淘汰时保留合并总数;写入或导出时用 `log.repeat_suppressed` 报告次数。已排队记录每次最多取 16 条,按文件分段合并打开和写入,不额外等待凑批;导出和崩溃限时保存前刷新剩余记录与计数。导出显示写入失败批次、队列丢弃和重复合并总数。应用进程停止期间不记录,未捕获异常只尝试限时保存,不能保证断电、系统强杀、原生崩溃或 ANR 的完整现场。容量轮转、队列丢弃及写入失败会影响完整性。 打开弹窗后生成当前日志的 TXT 快照,展示二维码。手机与电视须在同一可信局域网,扫码打开页面并点击“下载日志”,再自行发送给协助排查的人;不自动上传。日志包含相关应用包名、电视型号和软件版本,分享前请检查内容。下载使用 HTTP 临时随机链接,不提供传输加密。 关闭弹窗、离开页面、息屏、网络地址变化或打开后十分钟到期即停止本次下载。再次打开会生成新链接,关闭不会停止日常记录。导出仅保留一个可覆盖的私有缓存快照,最多约 2 MiB 加说明文字,连同日常日志总占用约 4 MiB;没有不断累积的导出文件。无法联网时可继续记录,连接局域网后再打开导出。失败仅提供重试和关闭。 安卓4.4、安卓5及以上、酷开安卓8共用上述功能;安卓4.4保留 MultiDex 启动。没有运行或未启用的模块不会产生对应事件;读取不到的系统信息不作成功推断。需要完整系统现场时使用 [Agent 问题排查](AGENT_DIAGNOSE.zh-CN.md)。真实电视的资源占用、扫码、待机、崩溃恢复和覆盖升级保留仍需验收。 ## 自定义应用封面 在“应用管理”选中已安装、已启用且可启动的应用,选择“更换封面”。手机与电视连接同一局域网,扫码选图;电脑可打开电视显示的短地址,再输入六位连接码。手机页面显示目标应用,支持固定比例裁剪、拖动和缩放。上传后在电视预览并确认“应用封面”,取消或失败保留原封面。 推荐 720 × 406 px,最低 360 × 203 px;支持 JPG、PNG、静态 WebP,原图及裁剪结果单张不超过 2 MB(2 MiB)。可用 AI 辅助生成封面,按上述尺寸导出。电视会再次检查文件内容、尺寸和应用资格;手机不能通过指定其他包名改变本次目标。 更换和“恢复默认”不依赖 ADB。恢复需确认,之后使用应用当前自带的封面或图标。自定义封面用于首页、第二屏及桌面显示预览,应用详情仍显示原图标。配置按 Android 用户保存在 Quiet TV 私有目录,正常覆盖更新及禁用保留;收到非升级的卸载通知后清除该应用映射。更换封面不修改目标应用、启动入口、排序、壁纸或儿童模式设置。 Quiet TV 与管理验证组件仅供查看;未安装、已禁用或没有启动入口的应用不提供换封面。可启动的预装应用可独立更换外观,系统状态由电脑端按原有保护规则维护。无自定义封面时“恢复默认”不可用。 上传弹窗与壁纸上传共用布局,无模拟扫码按钮;仅在弹窗打开期间提供本地服务,关闭、离开页面、切换网络或会话过期后失效。AI 仅为制作提示,本功能不连接生成服务。安卓 4.4 与安卓 5 及以上共用此功能,遥控器、真实扫码、重启和覆盖升级保留仍需分别真机验收。 ## 开机自启 在“桌面设置 → 应用管理”选择应用,在详情点击“设为开机自启”并确认。当前目标显示“关闭开机自启”;“更多 → 应用自启”可查看当前目标并关闭,即使目标已卸载也能关闭。下次开机或有效待机唤醒进入 Quiet TV 后自动打开该应用,一次只设置一个。开启应用自启会提示并关闭“开机自动看电视”,保存的电视信号源和首页入口不变。不依赖 ADB,正常覆盖更新保留原有自启设置;实际开机与待机唤醒仍需目标电视验收。 需先让电视开机进入 Quiet TV,例如设为默认桌面,或使用已在目标固件验收的桌面守护。该功能不会替用户切换默认桌面。仅在 Quiet TV 前台、屏幕可交互且未锁屏时启动;每次完整启动或被观察到的待机唤醒只尝试一次,按 Home 返回、桌面重建或进程重启不会创建新一轮。设置或替换目标不会立即打开应用。若开机未进入 Quiet TV,则本次开机首次手动进入时才执行。 待机自启适用于从 Quiet TV 桌面息屏后恢复桌面,或现有守护从已配置原主页恢复桌面。唤醒直接恢复目标应用、其他应用或 HDMI 时保留原画面。唤醒请求只等待 10 秒,超时或离开桌面即取消,不留到稍后按 Home 时执行。已记录的待启动周期可跨进程重建恢复;若进程提前退出而遗漏亮屏事件,不凭进程创建推测唤醒。仅息屏、没有亮屏证据时不会触发。 仅提供已安装、已启用且有可调用入口的应用,Quiet TV 自身和管理验证组件不能设为目标。启动时重新检查入口并沿用儿童模式的隐藏、锁定和限时规则;不可用或启动失败时留在桌面,本轮不再尝试,用户可重新设置。限制页返回同样不会自动重试。 | 档位 | 行为与差异 | | --- | --- | | 安卓 5 及以上 | 共用单应用设置和每次开机/有效唤醒一次的前台启动流程;安卓 7 起优先读取系统开机计数 | | 安卓 4.4 | 同一功能,通过内核标识识别完整启动、运行时广播识别待机唤醒;固件禁止读取时无法开启 | | 酷开安卓 8 | 共用标准流程;原厂开机路由和后台限制需对应固件验收 | 系统开机计数不可用时尝试内核开机标识,两者均不可读取则无法开启自启;不依赖时间或日期推算,修改时钟不会被当作重启。模拟器验证不能代替电视冷启动、重启、待机唤醒和第三方应用实际使用的验收。 ## 看电视(开发源码) 入口为“桌面设置 → 看电视”,沿用原页面 ID 和旧 HDMI 设置入口。页面提供“显示看电视”“电视信号源”“开机自动看电视”“立即观看”。八个导航标签、左右切页、下键进入内容和首行上键返回标签沿用现有设置窗口;切页及页面重建保留目标和焦点。此处描述当前源码,不代表已发布安装包或所有电视已验收。 1. 选择电视实际提供、可直接打开的 HDMI,首页“看电视”和开机自动进入始终共用这一个目标。目标按输入身份保存,不保存列表位置;没有配置目标时,首页点击进入此设置页,不再打开自启应用。未找到可直达的 HDMI 时,“电视信号源”列出本机可调用的原厂面板;TCL 快捷信号源与 TCL 系统信号源可分别手动尝试。打开面板后在原厂界面选源,不保存为指定 HDMI,也不据此确认观看成功或开启自动进入。没有可用面板时保留原因提示和遥控器信号源键路径。 2. “显示看电视”默认关闭,首次使用或尚未保存此项选择时,同时从首页、全部应用和添加/替换应用列表隐藏,不占首页名额;“桌面设置 → 看电视”仍保留,可随时手动开启。已有手动保存的显示或隐藏选择继续沿用。开关保存在本机,不改变信号源、观看确认和开机自动看电视设置。隐藏本身不删除已保存的首页位置和排序;未另行编辑时重新开启恢复原位置。通过现有长按菜单添加到首页、移出首页或主动替换,五项已满不自动挤掉其他应用。设置目标和切换自动进入不改动首页布局。 3. “立即观看”打开当前信号源。首次观看返回此页后确认画面和声音;已确认的目标再次手动观看不会关闭自动进入。首次开启“开机自动看电视”时自动试播,返回后可直接确认“正常,开启自动进入”,无需再次操作开关。反馈异常或稍后确认时不自动开启。 4. 开启“开机自动看电视”会提示并替换应用自启;关闭只取消自动进入,信号源和手动观看保留。应用自启在“应用管理”设置,重新开启会关闭电视自动进入。更换信号源会取消原信号源的确认和自动进入,需重新观看确认。旧目标和已开启的自动进入继续沿用,无需迁移重设。 HDMI 自动直达仅在完整开机的前三分钟内、Quiet TV 处于前台、屏幕可交互且用户已解锁时尝试一次。保存信号源或开启已确认目标不立即切换,首次开启未确认目标会先试播;按 HOME 返回、桌面重建及进程重启不重放。本轮已处理状态先保存再请求切源,失败时留在桌面。用户操作或离开桌面取消尚未执行的自动跳转;超时手动进入桌面不补执行。HDMI 不新增待机自动切源,唤醒保留系统恢复的画面。 每次调用重新核对端口、路由、完整固件、输入服务与播放器版本/更新时间,变化时要求重新选择并测试,不按品牌猜测端口或轮流尝试切源接口。主动切源复用桌面守护的短暂过渡保护,避免中间经过原主页时被拉回;实体 HOME 可退出该保护。设置确认只代表用户反馈的手动测试结果,冷开机、整机重启、待机唤醒、遥控器、画面与声音仍须逐固件真机验收。 | 档位 | 当前范围 | | --- | --- | | 安卓5及以上、酷开安卓8 | 有可枚举端口及可调用直切路由时可设置;对应固件的真实启动行为待验收 | | 安卓4.x | 保留原有应用自启、设置和遥控器信号源路径,不新增 HDMI 目标 | | 外接安卓盒子 | 应用自启可继续使用;本功能不承诺控制外部电视的 HDMI 端口或唤醒机顶盒 | ## 常用应用 / Dock 首页最多保留五个常用应用。首页显示、容量判断和替换位置统一按当前可显示、可启动的应用及已启用的内置入口计算;未安装、禁用、无可用启动入口或已隐藏的应用不占名额,也不出现在替换列表。读取旧配置不自动改写,用户添加、替换或移出首页时保存有效位置。当前开发源码支持在 Dock 和第二屏长按确定约 600 毫秒或鼠标长按,打开只有操作项的菜单;松开长按不启动应用。Dock 提供移动、替换应用、添加应用、移出首页、隐藏、卸载;第二屏提供移动、添加到首页、隐藏、卸载。普通系统预装应用可隐藏,无需禁用或卸载的管理规则授权;内置管理入口、系统核心组件、系统设置、原桌面、代理及必要依赖继续保留。卸载、禁用仍按原保护规则处理。Dock 只显示已添加的应用,不显示空位或添加卡片;从应用长按菜单添加,添加与替换列表使用统一尺寸与圆角封面,排除已在 Dock 和已隐藏的应用;五项已满时,长按菜单中的“添加应用”和“添加到首页”置灰且不可操作;移出应用腾出空位后恢复可用。添加流程不再弹出选择替换位置,主动替换仍使用“替换应用”。 Dock 和第二屏通过长按菜单移动应用。第二屏采用插入式排序,其他应用保持相对顺序;排序时在行末按右进入下一行首项,在行首按左进入上一行末项,列表首尾停止,上下键保持逐行移动。Dock 保持左右排序。方向键预览,确定放下并保存,返回取消本次移动;离开页面也取消未放下的移动。不增加方向按钮、保存栏或退出保存询问。移动期间不写入配置,保存失败恢复原顺序。禁用保留记录,卸载核实后移除记录,应用覆盖更新不当作卸载。 第二屏不显示标题或分类栏,第一行按上直接返回 Dock。“隐藏应用”位于“桌面设置 → 应用管理”的“预装应用”筛选之后,在详情选择“恢复显示”。普通隐藏同时收起 Dock 和普通应用列表入口,保留安装、数据与排序,不占 Dock 名额。隐藏筛选只展示普通隐藏应用,不直接启动应用;恢复时有空位则尽量回到原 Dock 位置,已满则恢复到第二屏。儿童模式隐藏不在普通隐藏分类中展示或恢复。隐藏、排序和 Dock 配置保存在本机,正常覆盖更新保留。 卸载先检查保护规则;已配置家长密码时需验证,确认默认选中取消。用户应用使用系统卸载确认,取消或失败保留入口,核实卸载后才清理本地记录;预装应用转到应用管理,继续沿用本机连接、规则和独立确认,不直接执行系统包命令。上述为当前开发源码功能,不代表已发布安装包或厂商真机验收通过。 ## 儿童模式 应用管理的同一排标签新增“儿童模式”。首次进入设置 6 位数字家长密码,设置时明文显示、只输入一次;修改和恢复后重设采用相同方式。之后每次离开再进入均需验证,验证时遮挡密码;输入满 6 位自动验证,验证页不再显示重复的“解锁”提交按钮,设置密码和恢复码仍需确认。左侧选择可启动的应用,右侧提供隐藏、锁定、使用时长三项;Quiet TV 自身、可识别的桌面、系统设置和受保护组件不列入管理。 - 隐藏:从 Quiet TV 首页、常用栏、常用应用选择器和首页排序中移除,保留原有位置配置;取消隐藏后恢复显示,不卸载或停用应用。 - 锁定:每次通过 Quiet TV 打开时验证家长密码。锁定时暂停时长规则,原设置保留;解锁后继续按原规则计算。 - 使用时长:支持不限制、单次限时、循环限时,以及 30 分钟、1 小时、2 小时或自定义 1 分钟至 24 小时。单次限时退出后保留剩余额度,用完后由家长追加。 - 循环限时:每个应用设置一条长期规则,重复日期可选每天、周一至周五、周六和周日,或自定义星期;至少选择一天。选中日期每天获得独立额度,未选日期不可使用。当天多次打开累计,按电视本地日期零点恢复,不需要家长密码;未用完的时间不结转,回拨日期不补发额度。休息页跨天后会刷新为可继续使用,由用户选择继续,不自动启动应用;待机、退出和重启保留规则与当天已用时间。 - 临时追加:家长验证后可追加 15 分钟、30 分钟或自定义分钟;循环限时的追加只在当天有效,未选日期也可临时批准,不修改长期规则。修改时长或重复日期立即生效,保留当天已用时间;切换为不限制再启用时保留原重复配置及当天已记录用量。旧“每日累计”自动按“每天”兼容,保留原时长、当天用量、追加及家长设置。 使用时长在同一个弹窗内选择模式、重复日期和额度,底部只保存一次;自定义星期在日期预设下方就地展开,不再打开第二层日期弹窗。取消、返回或关闭不保存本次草稿;选择不限制或单次限时后隐藏无关日期控件,遥控器跳过隐藏内容。 自定义使用时长和追加时间共用屏幕数字键盘,可用遥控器方向键切换输入项、选择数字、清空或退格,不依赖电视系统输入法。小时、分钟输入框显示完整数值;首次输入数字替换当前值,之后继续追加。 每个应用行右侧显示状态图标:划线眼睛表示隐藏,闭合锁表示上锁,无限符号表示不限制,时钟表示限时;隐藏图标可与当前使用规则图标并排显示。锁定期间,使用规则图标显示闭合锁,原有时长设置仍保留。 计时需要单独开启“儿童模式计时”无障碍服务,与桌面守护分开。仅识别窗口所属应用,不读取页面内容;只累计经 Quiet TV 启动的目标应用在前台且屏幕点亮、未锁屏的时间,切换到其他应用时暂停。额度定期保存在本机,到时显示温馨的卡通休息页:森林伙伴、云朵小憩、星球探险三套背景随机出现,同次停留与授权取消时保持主题。默认聚焦“好呀,去休息”,返回 Quiet TV 桌面;“家长授权”验证后可追加时间。插画使用内置 WebP,一次只解码一张,安卓 4.4 或低内存设备采样加载;服务不可用或系统未确认限制页时明确提示,不显示已正常保护。进程被系统终止时可能丢失最后一次保存后的少量时间。 三种构建档位共用儿童模式规则、三套休息页及家长追加流程;仅按运行设备的系统和内存条件调整背景解码。 | 档位 | 最低系统及包名 | 休息页背景 | | --- | --- | --- | | 标准档 | 安卓 5,`home.quiet.tv` | 正常解码 1600×900,低内存设备采样为约 800×450 | | 安卓 4.4 兼容档 | 安卓 4.4,`home.quiet.tv` | 在安卓 4.4 上采样为约 800×450 | | 酷开专用档 | 安卓 8,`com.coocaa.quiettv` | 与标准档相同,固件后台拦截能力需单独验收 | 首次设置家长密码成功后,由家长单独保存本机的 6 位数字恢复码。忘记密码时只输入事先保存的恢复码,验证通过后重设密码,应用规则和原恢复码不变。“版本更新”页查看恢复码必须先验证家长密码;离开标签或页面后隐藏,不再提供免验证的三次点击查看。 规则、密码校验值和恢复码保存在应用私有目录;不依赖账号、网络或 ADB。此功能管理 Quiet TV 内的入口,不是系统级封锁:原厂桌面、系统设置、其他启动器或近期任务等外部入口仍可能打开应用。无障碍窗口事件、后台显示限制页和待机恢复因固件而异,必须在目标电视验收。当前为开发源码功能,不代表既有下载包已包含。 ## 电脑维护与单应用操作 电视端提供按本机规则限制的日常应用操作;机型适配、首次连接和接管配置仍由 AI 通过电脑使用 [device_maintenance.py](../scripts/device_maintenance.py),按 [Agent 安装与维护说明](AGENT_INSTALL.zh-CN.md#电脑维护检查修复与恢复)检查、修复或恢复。软件禁用是独立可选操作,不作为安装条件;每次明确一个包,先读已安装 APK 内的保护规则与真实状态,保存原状态,再执行并读回。未知系统包、原桌面及接管依赖在日常列表保持只读;明确允许的预装应用才开放当前用户卸载,并确认数据删除。 恢复使用本次禁用的私有记录,精确还原默认启用或手动启用状态;设备、用户、固件、版本不符时停止。断连或结果未知时不自动重试。封面、排序、自启、儿童模式和更新不依赖本机 ADB;禁用、重新启用及预装卸载/恢复安装需要连接。 ## 数据与恢复 禁用保留安装和数据;卸载删除当前用户数据。恢复安装只恢复符合条件的预装包,不恢复已删除数据。应用私有记录不是完整备份;操作前保存自己的设备基线。 桌面首次启动不再自动进入设置或应用管理。“更多 → 帮助与恢复”保留暂停接管及系统恢复路径;预装应用的规则由电脑 AI 按需核对,日常操作可在电视进行,不作为安装完成条件。预装应用卸载/恢复、其他固件和长期运行仍需分别真机验收,不能用历史普通测试包的结果替代。详细阶段记录和证据仅保留本地。 ## 开机广告 电视端移除开机广告操作入口。用户明确要求时,按[开机广告专项](agent/boot-ads.md)优先使用本机官方开关或客服渠道;电脑工具按精确品牌、型号、固件指纹及相关包版本规则逐项处理,默认只读。支持独立广告服务、已实现的系统设置和厂商属性操作,均须本项目验收;当前七组 GitHub 资料只作为调查候选,没有可执行广告规则。设置和属性路线无需安装 Quiet TV 或接管 HOME。 保留应用与数据,不删除广告文件、清数据、卸载或改变 DNS。恢复使用本次操作的电脑记录,分别还原原启用状态、设置原值及键是否存在;属性原值无法精确恢复时不写入。服务停用与重启、冷启动、唤醒后广告效果分别验收。历史电视端操作记录仍保留,不自动迁移或重新执行,需按旧记录核对原状态后恢复。 ## 儿童计时、文件壁纸与诊断(当前源码) 家长验证输入满 6 位后自动校验,设置或重设密码仍需确认。首次设置成功后可单独保存恢复码;现有恢复码不重置。恢复码查看要求家长验证,切换标签或离开页面后隐藏。 儿童计时区分未授权、已授权未连接、服务已连接、服务故障和状态无法读取。时长可先保存,服务未就绪会明确标注计时未生效,受限应用继续沿用原有阻止打开规则。去开启时优先打开无障碍设置,失败则回退可用的系统设置;进入管理页不代表服务启用。诊断日志新增儿童计时的授权、连接和故障信息。服务连接不代替到时拦截的本机验收。 壁纸设置新增默认关闭的声音开关,以及本地 / U盘入口。文件选择器不可用时,Android 4.x–9 可在读取授权后浏览可访问的存储目录;Android 10 及以上要求系统提供文件授权入口,不申请所有文件访问权限。所选图片或视频复制到应用存储后复用上传的检查和预览流程,原文件不变,导入成功后可拔出 U 盘。单个图片上限 60 MB、视频上限 200 MB;当前开发源码取消静态及动态壁纸的数量和图库总容量限制,保留实际剩余空间检查。静音关闭音轨或输出音量,有声播放遵守音频焦点,离开页面、息屏时暂停或释放。音轨与 U 盘挂载兼容性仍须目标电视验证。 当前开发源码的静态图片上传、文件传输导入和本地选图共用最高 4K 的保存规则:长边不超过 3840、短边不超过 2160 像素,超出时等比缩小并校正 EXIF 旋转和镜像;带透明通道的图片保存为 PNG,其余为质量 90 的 JPEG。范围内保留原文件字节且不放大,源文件和已有壁纸不重写。保留格式、输入像素及实际剩余空间检查,不设置静态或动态壁纸数量及图库总容量配额;目录记录实际保存图片的方向校正尺寸和字节数。显示图及缩略图仍按实际绘制尺寸和内存档位采样,极端长宽比图片的中间解码像素限制、显示裁切及透明区域黑底保持原逻辑。启动缩略缓存沿用原机制,内部历史存储路径不变,按文件内容识别 JPG、PNG、WebP;旧 JPEG 壁纸继续可读。标准、legacy14 和 legacy19 共用此实现;每日壁纸下载处理与动态视频输出不变。`wallpaper.import.image` 只记录保存尺寸、字节数和原件保留标记,不含文件名或路径。 动态壁纸的独立视频输出(开发源码): | 场景 | 输出与共同约束 | | --- | --- | | 标准档 API27 及以上全屏壁纸、共用播放器的屏保 | SurfaceView,视频位于封面和桌面控件下方;不主动切换显示模式或刷新率,不强制分配固定 4K Surface | | 标准档 API21–26 | 保留 TextureView,包括旧系统的视频旋转兼容处理 | | legacy14、legacy19 | 私有播放进程中的 MediaPlayer;API17–19 普通全屏使用 SurfaceView,API14–16、合成输出与旋转视频保留 TextureView;输入仍限 1080p | | 文件传输页的小窗口预览 | 保留 TextureView | 同一首页窗口内尽量保留原 SurfaceView,只串行替换解码器;API34 及以上使用跟随窗口附着的 Surface 生命周期。封面先恢复全屏不透明并等待提交,再改变播放输出;透明壁纸选择窗口夺取焦点不跳过封面提交,真正遮蔽或暂停的窗口不等待不可见帧。只对封面做淡出,当前请求的播放器首帧和有效非零 Surface 尺寸同时就绪后才允许揭开封面;尺寸变化期间重新遮挡,缺少后续尺寸回调时沿用首帧超时报告。快速切换仍使用原有请求失效、单解码器队列及每个输出独立的解绑确认。 页面暂停时提前解绑原生输出并释放解码器,SurfaceView 可保留在封面下;息屏失效旧请求,亮屏仍须通过暂停状态和 Surface 就绪检查,恢复后等待新解码器首帧。TextureView 路径同时等待播放器就绪与纹理更新两个信号。Surface 销毁仍保留最多 3 秒的独立解绑等待;标准档厂商解码器卡死时不能把超时当作安全释放,也不继续堆积新解码器。旧安卓后端通过非导出的绑定服务运行在 `:wallpaper` 子进程,桌面启动、管理连接和共享日志写入不会在该进程重复运行;文件与 Surface 通过 Binder 交接,未传媒体路径。每项原生操作有独立于解码线程的 2.5 秒监控,卡住或异常时结束该子进程,释放确认以正常完成或 Binder 死亡为准;不会仅清除保护标记后叠加解码器。首帧超时也会主动退役播放器,后续用户播放可以重新绑定;不自动循环重试。API17 及以上等待平台渲染首帧回调,API14–16 保留准备完成加纹理更新条件。子进程退出不代表厂商系统媒体服务恢复,仍需对应真机验收。 诊断新增 `wallpaper.video.surface`(Surface 生命周期、视图与 holder 尺寸)、`wallpaper.video.output_size`(播放器尺寸回调)、`wallpaper.video.cover`(遮挡、提交与揭开请求)和 `wallpaper.video.detach`(解绑确认、释放完成)。holder 尺寸不是实际解码缓冲区尺寸,首帧和帧提交回调也不证明已上屏。独立视频输出使完整显示分辨率成为可能,不保证某台电视已原生 4K;硬件图层、实际清晰度、逐帧黑闪、快速切换和待机恢复仍须对应固件真机验收。本地回调与模拟 Surface 测试不代替硬件解码验证。 ADB 日志分别标注系统调试、应用内管理连接和保持调试功能;复用进程共享连接与现有健康检查,不以电脑 ADB 连接成功推断应用连接成功。HOME 与导航诊断仅记录应用实际收到的事件、窗口焦点和触摸模式,不记录文字、指针坐标或设备名称,不新增按键拦截;实体 HOME 无事件或输入在系统设置中失效仍需系统侧证据,逐键校准沿用现有电脑 AI 流程。