服务伴随启动:让应用跟着服务一起自动醒来
服务活着,应用才有得用。但反过来的麻烦很少有人提前想:服务被拉起了,应用却还躺着没打开,功能照样用不上。「服务伴随启动」就是补这一环的——应用可注册为 Stellar 服务的伴随进程,服务启动时自动唤醒。
需要两侧配合
应用侧:在 AndroidManifest 里声明 follow_stellar_startup 权限(与基础权限一起写入 meta-data),并实现接收启动通知的广播接收器。声明写法见Manifest 配置。
用户侧:在授权页给该应用的伴随启动权限放行——它和基础权限是两个独立的权限项,见细分权限。
生效链路
- 服务启动(无论哪条通道拉起);
- 管理器遍历声明了伴随启动且已授权的应用;
- 逐个唤醒对应应用,应用收到通知后初始化自己的特权功能。
整条链路对用户是「无感」的:重启手机 → 自启通道拉起服务 → 授权过的应用自动醒来,全程不用手点。
常见疑问
- 给未运行的应用授权后跟随不生效? 这类问题在旧版本存在过,更新日志里有对应修复记录,先升级再试;
- 不想让某应用跟随了:到授权页把它的伴随启动权限收回即可,见撤销授权;
- 服务都没起来:伴随启动的前提是服务启动,先回无线调试启动检查。
配合双进程互守使用,驻留效果更完整。