用途:当任务涉及 Android WorkManager 后台作业、后台提醒通知或可靠重试时使用,目标是完成可延迟且保证执行的后台工作、提醒与通知投递。
主要能力:先选择正确的执行 API——可延迟且保证执行的工作使用 WorkManager,用户可见的持续工作使用前台服务,仅在真正需要时钟精度和政策要求时使用精确闹钟;通过显式名称、输入数据契约、退避策略和取消行为,使工作幂等且可唯一寻址;按用户价值与平台限制选择约束、加急工作和重试语义;把通知投递纳入契约,包括渠道、重要性、点击操作、运行时权限处理以及在通知被拒绝时的优雅行为;在交接前验证重复调度、重启/进程死亡和降级状态。
使用方式与检查重点:需要 API 选择矩阵时读取 references/patterns.md,需要唯一工作、通知权限与提醒投递审查路径时读取 references/scenarios.md。可参考示例命令检索关键符号,如 rg -n "WorkManager|Worker|enqueueUnique|PeriodicWorkRequest|NotificationChannel|POST_NOTIFICATIONS" examples,以及 rg -n "setExpedited|setRequiredNetworkType|AlarmManager|ForegroundInfo" examples。
限制与护栏:保持后台工作幂等并可感知取消;功能代表单一逻辑提醒或同步管线时使用唯一工作或唯一周期工作;加急工作稀缺且有用户价值,不应作为通用插队标志;使用网络约束时须声明现代 Android 所需权限;即使用户拒绝 POST_NOTIFICATIONS,通知价值仍需保留并给出可见恢复路径。避免阻塞主线程、期望 WorkManager 提供精确墙钟时间、重复入队提醒、未创建渠道或未处理权限拒绝路径。