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

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日

悬赏问题

  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载