Files
ElderlyDialer/docs/android17-adaptation-validation.md
T

30 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Android 17 权限、报时与闹钟验证
本次范围:局域网运行时权限、整点报时前台播放、闹钟权限与调度恢复。系统 UID 和平台签名保持原状。
## 已执行检查
- 使用本机 JDK 21 执行 `:app:compileDebugJavaWithJavac --offline`,Kotlin/Java 编译通过。
- Manifest 权限、私有播放服务类型和三个恢复广播结构检查通过。
- `git diff --check` 通过。
- 默认 JDK 17 无法读取项目现有 framework.jar 的 Java 21 字节码;本次仅在验证命令中切换 JDK,未修改项目
JDK 配置。
## 设备回归(待执行)
使用目标量产固件,分别覆盖 Android 12、13、14 和 17;系统 UID 若默认获权,需要额外使用可撤销权限的测试环境覆盖拒绝路径。
1. 新安装打开桌面:按需出现局域网(仅 17+)、通知(13+)、精确闹钟和全屏提醒设置引导。取消后不立即重复弹同一个引导。
2. 拒绝附近设备权限:远程协助不启动采集,界面提示授权;在应用设置授权后返回桌面,信令重新连接,局域网 API
和串流可用。
3. 拒绝通知权限后允许:回到应用确认设置引导可用;启用一分钟后的闹钟,锁屏确认通知和全屏页面可用。关闭全屏授权时,确认通知仍有声音、点击可打开闹钟。
4. 缺少精确闹钟权限时保存闹钟:数据库记录保留,后台不强行打开设置。授权后返回应用或等待授权广播,确认已启用任务重新安排。
5. 撤销精确闹钟权限后重新授权:确认任务恢复,不因 SecurityException 崩溃。重复闹钟正常计算下一次,一次闹钟正常禁用。
6. 启用整点报时,锁屏并让应用处于后台:下一整点应显示短时前台通知、通过闹钟音频流播报,完成后通知和服务退出。首次冷启动模型也应完成播报。
7. 设备重启、应用覆盖更新后:已启用闹钟和报时重新调度;关闭报时则不重新启用。
8. 播放失败或模型初始化失败:播放服务退出并释放播放器和唤醒锁;最长存活两分钟,不自动复活。
## 限制
通知/通知渠道被用户关闭时不能强行显示提醒;系统免打扰和闹钟音量仍遵循系统设置。已有通知渠道保留用户设置。未执行真机验证前,编译通过不能视为后台播放已验收。