鸿蒙原生应用元服务开发-WEB跨应用跳转

Web组件可以实现点击前端页面超链接跳转到其他应用。

在下面的示例中,点击call.html前端页面中的超连接,跳转到电话应用的拨号界面。

应用侧代码。

复制代码
// xxx.ets
import web_webview from '@ohos.web.webview';
import call from '@ohos.telephony.call';

@Entry
@Component
struct WebComponent {
  webviewController: web_webview.WebviewController = new web_webview.WebviewController();

  build() {
    Column() {
      Web({ src: $rawfile('xxx.html'), controller: this.webviewController})
        .onUrlLoadIntercept((event) => {
          let url: string = event.data as string;
          // 判断链接是否为拨号链接
          if (url.indexOf('tel://') === 0) {
            // 跳转拨号界面
            call.makeCall(url.substring(6), (err) => {
              if (!err) {
                console.info('make call succeeded.');
              } else {
                console.info('make call fail, err is:' + JSON.stringify(err));
              }
            });
            return true;
          }
          return false;
        })
    }
  }
}

前端页面call.html代码。

复制代码
<!-- call.html -->
<!DOCTYPE html>
<html>
<body>
  <div>
    <a href="tel://xxx xxxx xxx">拨打电话</a>
  </div>
</body>
</html>

本文参考引用HarmonyOS官方开发文档,基于API9。

相关推荐
前端一课5 小时前
【vue高频面试题】第一题:Vue 3 相比 Vue 2,有哪些重大变化?
前端·面试
前端一课5 小时前
【vue高频面试题】第2题:Vue 3 中 ref 和 reactive 的区别是什么?什么时候用哪一个?
前端·面试
用户8168694747255 小时前
React 事件系实现
前端·react.js
一颗烂土豆5 小时前
🚀从 autofit 到 vfit:Vue 开发者该选哪个大屏适配工具?
前端·vue.js
z_mazin5 小时前
逆向Sora 的 Web 接口包装成了标准的 OpenAI API 格式-系统架构
linux·运维·前端·爬虫·系统架构
CoolerWu5 小时前
Trae Solo 实战指南:从"会用"到"用好"的协作方法论
前端·javascript
听风说图5 小时前
Figma画布协议揭秘:组件实例的SymbolOverrides覆盖机制
前端·canvas
小杨前端5 小时前
前端如何自己实现一个webpack的热更新?
前端
@大迁世界5 小时前
02.CSS变量 (Variables)
前端·css
鹏多多5 小时前
轻量+响应式!React瀑布流插件react-masonry-css的详细教程和案例
前端·javascript·react.js