【HarmonyOS NEXT】解决微信浏览器无法唤起APP的问题

1. 背景

在使用鸿蒙微信打开网页通过使用Deep Linking(scheme)实现应用间跳转唤起APP时,会提示暂无可用打开方式,但是尝试使用系统浏览器、QQ浏览器、UC浏览器时又可以唤起,反复检查module.json5中的skills标签配置,未发现任何问题

2. 解决思路

开始怀疑是不是微信有BUG,或者鸿蒙版微信有白名单机制,但是尝试了微博和小红书,是可以唤起APP的,于是开始尝试在各种鸿蒙论坛和说说引擎中搜索,未发现有人遇到此类问题,o(╥﹏╥)o,直到我把微信的鸿蒙应用开发手册反复看了十遍,直到看到一句话【微信拉起App时,App如何接受来自微信的数据】

3. 尝试解决

在主项目的module.json5 中的actions 增加wxentity.action.open

json 复制代码
{
  "module": {
    // ...
    "abilities": [
      {
        // ...
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home",
              "wxentity.action.open"
            ]
          },
          {
            "actions": [
              // actions不能为空,actions为空会造成目标方匹配失败。
              "ohos.want.action.viewData"
            ],
            "uris": [
              {
                // scheme必选,可以自定义,以link为例,需要替换为实际的scheme
                "scheme": "link",
                // host必选,配置待匹配的域名
                "host": "www.example.com"
              }
            ]
          } // 新增一个skill对象,用于跳转场景。如果存在多个跳转场景,需配置多个skill对象。
        ]
      }
    ]
  }
}

run起来,✿✿ヽ(°▽°)ノ✿,可以唤起了

4. 问题

通过微信浏览器H5唤起,和非微信浏览器onNewWant中接收到的scheme uri 位置有所不同,微信这货额外包装了一层

非微信浏览器唤起
微信浏览器唤起

老老实实针对鸿蒙微信scheme唤起的方式进行参数适配吧🤣🤣🤣😅😅😂😂

5. 其它

关于鸿蒙拉起指定应用的资料可参考这里

鸿蒙应用间跳转:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/inter-app-redirection

鸿蒙应用开发手册:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/ohos.html

相关推荐
ttod_qzstudio28 分钟前
深入理解 Vue 3 的 h 函数:构建动态 UI 的利器
前端·vue.js
_大龄1 小时前
前端解析excel
前端·excel
一叶茶1 小时前
移动端平板打开的三种模式。
前端·javascript
前端大卫1 小时前
一文搞懂 Webpack 分包:async、initial 与 all 的区别【附源码】
前端
Want5952 小时前
HTML音乐圣诞树
前端·html
老前端的功夫2 小时前
前端浏览器缓存深度解析:从网络请求到极致性能优化
前端·javascript·网络·缓存·性能优化
4***14902 小时前
HarmonyOS在智能电视中的语音交互
华为·harmonyos·智能电视
Running_slave3 小时前
你应该了解的TCP滑窗
前端·网络协议·tcp/ip
程序员小寒3 小时前
前端高频面试题之CSS篇(一)
前端·css·面试·css3
安卓理事人3 小时前
安卓LinkedBlockingQueue消息队列
android