它怎么接管桌面(守护机制)
国产电视大多只认自家桌面,待机时还会清理第三方 App。Aerial 用以下三层机制保证自己始终是默认桌面:
第一层:无障碍守护(Home Guard)
Aerial 注册一个无障碍服务,原桌面一出现就切回来。这个服务只看哪个窗口在前台,不读屏幕内容。老小米(Android 6)的桌面不报告窗口变化时,守护改看系统的用量统计(UsageStatsManager);有些酷开、创维固件不按标准方式启动桌面,守护也认得它们自己的桌面。
第二层:通知监听(Revival)
被系统清理后,靠通知监听器让系统把 Aerial 重新拉起来。通知监听器不读通知内容,只负责触发重启。
第三层:WRITE_SECURE_SETTINGS
adb shell pm grant app.orchard.tv android.permission.WRITE_SECURE_SETTINGS 让 Aerial 能修改一些安全设置(如亮度),用于控制中心的亮度滑块。
原生 Android TV
不需要这些守护,直接设成默认桌面(按主页键选「始终」即可)。
老电视的兜底
如果电视的桌面不报告窗口变化(老小米 6),守护会改用 UsageStatsManager 检测前台应用;如果酷开、创维固件不按标准方式启动桌面,守护也认得它们自己的桌面(通过组件名匹配)。
权限与隐私
| 权限 | 用途 | 隐私 |
|---|---|---|
| 无障碍服务 | 检测前台窗口、切回 Aerial | 不读屏幕内容 |
| 通知监听 | 被清理后重启 Aerial | 不读通知内容 |
WRITE_SECURE_SETTINGS |
调亮度 | 无 |
| 位置 | 显示 Wi-Fi 名称(天气模块) | 不定位 |
内容来源:Aerial 官方 GitHub 仓库 与官网 https://aerial.qust.me/
