它怎么接管桌面(守护机制)

国产电视大多只认自家桌面,待机时还会清理第三方 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/