目录

点击短信中的链接无法跳转至目标应用的页面

问题现象

用户点击短信中的链接,未正确进行跳转:

  1. 点击链接后无法导向应用程序。
  2. 虽然链接可以被打开,但显示的页面并非预期内容。

背景知识

按照应用链接的scheme以及校验机制的不同,可以分为Deep Linking与App Linking两种方式。

问题定位

  1. 查看module.json文件,可搜索对应关键词进行排查:
    • 搜索exported:exported配置应为true,如果exported为false,仅具有权限的系统应用能够拉起该应用,否则无法拉起应用。
    • 搜索scheme:scheme须配置为https,host须配置为关联的域名,path可选,表示域名服务器上的目录或文件路径。
  2. 在应用EntryAbility中,可搜索onCreate()或者onNewWant(),查看生命周期回调,检查处理传入的链接。
  3. 检查链接的有效性,通过将其复制到浏览器中进行验证。

分析结论

[h2]场景一

配置文件与Ability中生命周期回调均无问题,链接无法打开,为无效链接。

[h2]场景二

应用在module.json中配置了"scheme": "https",在隐式拉起不传入具体entities的情况下会被系统识别为浏览器一类应用。

let want: Want = { 
    action: 'ohos.want.action.viewData', 
  }; 
context.startAbility(want)

修改建议

[h2]场景一

提供正确有效的链接地址。

[h2]场景二