d***@91jinrong.com
d***@91jinrong.com
  • 发布:2025-12-12 10:45
  • 更新:2025-12-12 11:05
  • 阅读:23

【报Bug】接入uni-push2.0,通知栏可以收到离线推送消息,华为:点击通知栏消息,可以唤醒app但是监听不到click事件 小米:点击通知栏消息,不会唤醒app(已授权相关权限)。

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macOs 15.3 (24D2059)

HBuilderX类型: 正式

HBuilderX版本号: 4.76

手机系统: Android

手机系统版本号: Android 15

手机厂商: 小米

手机机型: 红米 K40 S

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:
  1. uni-admin控制台,发送离线消息
  2. 华为、小米手机收到通知栏提醒
  3. 点击通知栏消息

预期结果:

华为:点击通知栏消息,唤醒app并通过click事件监听到离线消息
小米:点击通知栏消息,唤醒app并通过click事件监听到离线消息

实际结果:

华为:点击通知栏消息,可以唤醒app但是监听不到click事件
小米:点击通知栏消息,不会唤醒app(已授权相关权限)。

bug描述:

接入了uni-push2.0后,应用可以收到离线推送消息:
华为:点击通知栏消息,可以唤醒app但是监听不到click事件
小米:点击通知栏消息,不会唤醒app(已授权相关权限)。

2025-12-12 10:45 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

该bug反馈内容基本完整,但缺少关键代码示例,无法直接验证实现是否正确。复现步骤清晰但未提及设备特殊设置检查(如小米的"后台弹出界面"权限)。预期结果合理,实际结果符合部分厂商特性:小米问题常见于未开启后台弹出界面权限,华为能唤醒但监听不到click事件通常因监听代码未放在onLaunch生命周期中。分类信息完整,包含HBuilderX 4.76(低于当前稳定版4.85)及Android 15等关键版本信息。

经知识库比对,该问题不完全是框架bug:

  1. 小米设备需手动开启设置-应用管理-权限管理-后台弹出界面,用户称"已授权"但可能未正确配置
  2. 华为场景符合离线推送机制说明——点击通知唤醒后才可监听到消息,需确保uni.onPushMessage在onLaunch中注册
  3. HBuilderX 4.76版本较旧,建议升级至最新正式版验证问题

核心问题在于:

  • 未提供监听代码实现,无法判断是否按规范在onLaunch中注册
  • 未确认小米设备是否完成厂商通道配置
  • 离线推送需云打包后生效,标准基座无法测试
内容为 AI 生成,仅供参考
套马杆的套子

套马杆的套子 - 没有解决不了的问题,只有解决不完的问题

uni.onPushMessage代码瞅一眼

  • d***@91jinrong.com (作者)

    onLaunch: async function () {  
    console.log('App Launch');
    plus.push.addEventListener("click", (msg) => {
    console.log('点击通知了!!',msg)
    uni.showModal({
    title: '点击通知了',
    content: JSON.stringify(msg),
    })
    })

    plus.push.addEventListener("receive", (msg) => {
    console.log('服务器推送的消息~~', msg)
    uni.showModal({
    title: '服务器推送的消息',
    content: JSON.stringify(msg)
    })
    })
    }

    2025-12-12 11:11

  • 套马杆的套子

    回复 d***@91jinrong.com: 用uni.onPushMessage试试

    31 分钟前

要回复问题请先登录注册