HarmonyOS鸿蒙Next中如何使用scheme协议从外部浏览器唤起app

HarmonyOS鸿蒙Next中如何使用scheme协议从外部浏览器唤起app 如何使用scheme协议从外部浏览器唤起app

6 回复

请使用经授权的华为账号查阅该文档

遇到同样的问题,登录后也看不到对应的文档 链接

在HarmonyOS鸿蒙Next中,使用scheme协议从外部浏览器唤起应用,首先需要在应用的config.json文件中定义scheme协议。具体步骤如下:

  1. config.json文件的abilities节点下,为需要被唤起的Ability添加scheme配置。例如:
{
  "abilities": [
    {
      "name": ".MainAbility",
      "scheme": "myapp"
    }
  ]
}
  1. 配置完成后,当用户在浏览器中访问myapp://链接时,系统会尝试唤起对应的应用。

  2. 在应用中,可以通过onCreateonNewIntent方法获取传递过来的Intent对象,并解析其中的数据。

onCreate(want: Want) {
    let scheme = want.uri?.scheme;
    let host = want.uri?.host;
    let path = want.uri?.path;
    let query = want.uri?.query;
    // 根据解析的数据进行相应的处理
}
  1. 确保应用已经在设备上安装,并且scheme协议在浏览器中可被识别。

通过以上步骤,即可实现从外部浏览器通过scheme协议唤起HarmonyOS应用的功能。

在HarmonyOS鸿蒙Next中,通过scheme协议从外部浏览器唤起App的步骤如下:

  1. 配置Scheme:在config.json中定义自定义Scheme。例如:

    {
      "app": {
        "bundleName": "com.example.myapp",
        "schemes": ["myapp"]
      }
    }
    

    这里myapp是自定义的Scheme。

  2. 处理Scheme:在MainAbilityonStart方法中解析Scheme参数:

    onStart(want) {
      if (want.uri) {
        const url = new URL(want.uri);
        // 处理URL参数
      }
    }
    
  3. 浏览器调用:在浏览器中使用myapp://链接即可唤起App。例如:

    <a href="myapp://open?page=home">打开App</a>
    

通过以上步骤,即可实现通过Scheme协议从外部浏览器唤起App。

回到顶部