人无再少年_ 2023-05-26 14:04 采纳率: 43.8%
浏览 79

uniapp 应用 收到unipush推送消息点击无法唤起应用问题。

通知栏展示了在线的透传推送消息,我测试了小米,荣耀等机型点击消息后都可以唤起应用,但是华为手机无法唤起应用,监听到的透传消息内容一样:

img


通过点击通知消息触发click后打印的内容也是一致的。

  • 写回答

1条回答 默认 最新

  • IT论之程序员 2023-05-28 14:52
    关注

    在 uniapp 应用中,收到 unipush 推送点击消息时,无法自动唤起应用,这是因为:
    uniapp 框架的应用是跨平台的,并不直接编译成 Android/iOS 真机应用,而是在运行时通过 WebView 加载 uniapp 代码。
    所以,当点击 unipush 推送消息时,系统无法找到对应的原生应用来唤起。
    要解决这个问题,有两种方案:

    1. 在 manifest.json 中配置 launchingActivity,指向 App 启动页,如:
      json
      "android": {
      "launcherActivity": ".MainActivity"
      }
      然后在 App 启动页 MainActivity 中接收推送消息点击事件,并唤起 uniapp 页面。
    2. 使用 unipush 提供的自定义接收器功能,在接收器代码中唤起 uniapp 页面。
      Uniapp 开发文档对此也有相关说明,参见:https://uniapp.dcloud.io/unipush/android?id=%E6%B6%88%E6%81%AF%E7%82%B9%E5%87%BB%E5%90%8E%E6%97%A0%E6%B3%95%E5%94%A4%E8%B5%B7%E5%BA%94%E7%94%A8%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88
      所以,解决 uniapp 应用收到 unipush 消息点击无法唤起的方案是:
    3. 配置 Android manifest 文件的 launchingActivity
    4. 实现 unipush 自定义接收器,在接收器代码中唤起 uniapp 页面
    评论

报告相同问题?

问题事件

  • 创建了问题 5月26日