【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

相关推荐
SleepyZone7 分钟前
Cline 源码浅析 - 从输入到输出
前端·ai编程·cline
半路下车7 分钟前
【Harmony OS 5】HarmonyOS应用测试指南
设计模式·harmonyos
移动端开发者10 分钟前
鸿蒙Next自定义双滑块滑动条实现方案
harmonyos
Struggler28110 分钟前
pinia-基于monorepo的项目结构管理
前端
SunFlower0111 分钟前
Harmony-websocket(一)
harmonyos
Struggler28115 分钟前
SSE的使用
前端
用户58061393930021 分钟前
前端文件下载实现深度解析:Blob与ObjectURL的完美协作
前端
aqi0022 分钟前
FFmpeg开发笔记(六十四)使用国产的RedPlayer播放器观看网络视频
android·ffmpeg·音视频·直播·流媒体
雨白23 分钟前
扩展函数和运算符重载
android
Lin866624 分钟前
Vue 3 + TypeScript 组件类型推断失败问题完整解决方案
前端