Skip to content

v1.1.9 · 手表同步保活修复:推送 / 看门狗 / 磁贴 / 常驻通知 / Shizuku

Choose a tag to compare

@having5548 having5548 released this 19 Sep 03:01
· 4 commits to main since this release

这次修的是「手机端保活」——之前三种方式其实都没真正生效

一、保活三种方式逐条修掉

之前的问题 原因 现在
磁贴根本不出现 磁贴只能自己去快捷设置里手动加,应用里没有任何入口 保活自检区新增一键添加到快捷设置(Android 13+ 调 StatusBarManager.requestAddTileService,低版本给手动路径);磁贴亮灭与同步总开关联动,不再出现「开关亮着但服务已死」
没有常驻通知栏通知 通知权限没给时静默失败;同一条通知反复更新还可能重复打扰 独立低频通知通道(IMPORTANCE_LOW)+ setOnlyAlertOnce,通知栏直接带**「关闭同步」**按钮;后台启动前台服务被拒时把原因记下来并在页面显示,不再无声失败
Shizuku 授权后杀后台不自动拉起 ① 选了「守护」模式但未授权分支直接 return,模式从未保存;② 看门狗用 setRepeating(Doze 下被大幅推迟);③ 服务正常销毁时把闹钟一起取消 先落库再申请授权,授权回调到了自动生效并重启服务;看门狗改为一次性精确闹钟且每次触发先重排下一次,服务被杀后闹钟依然保留;只有用户关掉同步才取消

二、推送逻辑按你的要求改成「启动就推、失败再推」

  • 保活服务每次启动 / 被拉起后立刻向手表推一次便签,不看连接检查结果
  • 之后按用户选择的间隔(1 / 2 / 5 / 10 / 30 分钟 / 1 小时)刷新连接状态并再推一次
  • 拉取失败时把原因(noteError)一起发给手表,手表端直接显示失败原因,不再干等
  • 新增开机 / 覆盖安装恢复(BOOT_COMPLETED、MY_PACKAGE_REPLACED),另外每次打开应用也会自检一次:开关开着而服务没跑就补起来并重排看门狗

三、新增「保活自检」与一键权限引导

二级页底部逐项列出:前台服务是否运行(含启动被拒原因)/ 通知权限 / 电池优化白名单 / 精确闹钟 / Shizuku 状态 / 最近一次推送时间与结果,并配四个一键按钮:添加到快捷设置、允许后台运行(忽略电池优化)、允许精确闹钟、打开系统应用设置(自启动 / 省电策略)。

四、其它

  • 设置列表里直接有开关:「手表同步」行右侧就是同步总开关,不必再进二级页;开关一开顺手申请通知权限
  • 电量不再显示 0%:SDK 在缺少 DEVICE_MANAGER 权限或查不到数据时返回 0,现在按「电量未知」显示,充电中追加「(充电中)」
  • 顺手修掉 ShizukuKeeper.exec 只绑定用户服务、从不解绑的 binder 泄漏
  • 新增权限:REQUEST_IGNORE_BATTERY_OPTIMIZATIONS、SCHEDULE_EXACT_ALARM、RECEIVE_BOOT_COMPLETED、POST_NOTIFICATIONS

附件

  • TravelerNote-v1.1.9.apk — 手机端(versionCode 11,覆盖安装即可,签名与旧版一致)
    • SHA-256:5B5C4266CF372DB7EE1288FE623358D1D9983E319F685EDCBE3D995B0F3836A6
    • 签名证书 SHA-256:0ea8c2be7789bd69d7595cf8d416b8a71ca213f322e671d6ff5928d2a63b04dc
  • com.traveler.miyou.release.1.1.8.rpk — 手表端快应用(本次无改动,与 v1.1.8 同一份,仍可继续用;升级手机端不必重装手表端)

保活如果还是不稳,请按二级页「保活自检」的顺序排查:① 允许后台运行(忽略电池优化)② 系统自启动 / 省电策略设为无限制 ③ 通知权限 ④ 需要更稳就装 Shizuku 选守护模式。