feat: offline SMS fallback for important notifications
断网时把验证码、来电用短信发到 iPhone: - ConnectivityMonitor: NetworkCallback 监听在线状态 - CarrierDetector: SIM MCC+MNC 映射移动/联通/电信/广电 - CarrierBalanceQuery: 发免费查询短信拿套餐短信余量,解析回执 - SmsFallbackForwarder: 限频(5min)/余额(≤5挂起)/紧要性检查 - NotificationProcessor 拦截运营商回执(10086/10010/10001/10099) - 设置页新增短信兜底卡片,首页余额耗尽警告 版本 1.3.0 → 1.4.0 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -44,6 +44,17 @@ class NotifyListenerService : NotificationListenerService() {
|
||||
return
|
||||
}
|
||||
|
||||
// ---- 断网兜底:离线时紧要通知走短信,其余不转发避免离线堆积 ----
|
||||
val online = app.connectivityMonitor.isOnline.value
|
||||
if (!online) {
|
||||
if (app.smsForwarder.isSmsWorthy(d)) {
|
||||
app.smsForwarder.forward(d)
|
||||
} else {
|
||||
app.logStore.addLog(ForwardLog(now, sbn.packageName, d.appLabel, msg.title, msg.body, "filtered", "离线非紧要通知"))
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
val server = app.settings.currentServer.value
|
||||
if (server == null || server.deviceKey.isBlank()) {
|
||||
app.logStore.addLog(ForwardLog(now, sbn.packageName, d.appLabel, msg.title, msg.body, "failed", "未配置 Bark key"))
|
||||
|
||||
Reference in New Issue
Block a user