From cc2c376e9d7d67ae97f40d87786d18cb2563ab43 Mon Sep 17 00:00:00 2001 From: Jafeng <2998840497@qq.com> Date: Fri, 28 Nov 2025 10:07:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E8=AF=BB=E5=8F=96=E9=80=9A=E7=9F=A5=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF=EF=BC=8C=E6=B3=A8=E5=86=8C=20NotificationBri?= =?UTF-8?q?dge=20=E6=8F=92=E4=BB=B6=E5=B9=B6=E6=B8=85=E7=A9=BA=E6=9C=AC?= =?UTF-8?q?=E5=9C=B0=E9=80=9A=E7=9F=A5=E9=98=9F=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/echo/app/MainActivity.java | 10 +++++ src/services/notificationSourceService.js | 37 ++----------------- 2 files changed, 13 insertions(+), 34 deletions(-) diff --git a/android/app/src/main/java/com/echo/app/MainActivity.java b/android/app/src/main/java/com/echo/app/MainActivity.java index e46deba..b28fd4a 100644 --- a/android/app/src/main/java/com/echo/app/MainActivity.java +++ b/android/app/src/main/java/com/echo/app/MainActivity.java @@ -1,6 +1,16 @@ package com.echo.app; +import android.os.Bundle; import com.getcapacitor.BridgeActivity; +import com.echo.app.notification.NotificationBridgePlugin; +// 主 Activity:这里显式注册自定义的 NotificationBridge 插件,打通原生通知监听到前端的桥接 public class MainActivity extends BridgeActivity { + @Override + public void onCreate(Bundle savedInstanceState) { + // 注意:必须在 super.onCreate 之前向 bridgeBuilder 注册插件, + // 否则 Bridge 已经创建完成,JS 侧会报 "plugin is not implemented on android" + registerPlugin(NotificationBridgePlugin.class); + super.onCreate(savedInstanceState); + } } diff --git a/src/services/notificationSourceService.js b/src/services/notificationSourceService.js index bb5dd3f..1b76e32 100644 --- a/src/services/notificationSourceService.js +++ b/src/services/notificationSourceService.js @@ -12,41 +12,10 @@ const nativeBridgeReady = isNativeNotificationBridgeAvailable() /** * 本地模拟通知缓存: - * - 浏览器环境:用于 Demo & Mock - * - 原生环境:作为 NotificationBridge 数据的补充兜底 + * - 浏览器环境:用于 Demo & Mock,可通过 pushLocalNotification 主动注入 + * - 原生环境:一般保持为空,仅在必要时作为 NotificationBridge 数据的补充兜底 */ -let localNotificationQueue = [ - { - id: uuidv4(), - channel: '支付宝', - text: '支付宝提醒:你向 瑞幸咖啡 支付 ¥18.00', - createdAt: new Date().toISOString(), - }, - { - id: uuidv4(), - channel: '微信支付', - text: '微信支付:美团外卖 实付 ¥46.50 · 订单已送达', - createdAt: new Date(Date.now() - 1000 * 60 * 8).toISOString(), - }, - { - id: uuidv4(), - channel: '招商银行', - text: '招商银行:工资收入 ¥12500.00 已到账', - createdAt: new Date(Date.now() - 1000 * 60 * 32).toISOString(), - }, - { - id: uuidv4(), - channel: '北京一卡通', - text: '北京一卡通:乘车扣款 3.00 元,扣款金额 3.00 元', - createdAt: new Date(Date.now() - 1000 * 60 * 45).toISOString(), - }, - { - id: uuidv4(), - channel: '建设银行', - text: '建设银行信用卡:刷卡消费 人民币 86.20 元,消费商户 星巴克咖啡', - createdAt: new Date(Date.now() - 1000 * 60 * 60).toISOString(), - }, -] +let localNotificationQueue = [] export const setRemoteNotificationFetcher = (fetcher) => { remoteNotificationFetcher = typeof fetcher === 'function' ? fetcher : remoteNotificationFetcher