鸿蒙原生应用元服务开发-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。

相关推荐
啊~哈11 分钟前
页面弹窗适配问题
前端·javascript·vue.js
工呈士18 分钟前
构建优化策略:Tree Shaking、代码分割与懒加载
前端·面试
骑自行车的码农23 分钟前
React Suspense实现原理深度解析 1
前端·react.js
还是一只小牛26 分钟前
探秘 React Native:线程探索及桥优化
android·前端
Face26 分钟前
Vue源码核心模块解析
前端·vue.js
Canmick27 分钟前
记一次无语的 Vite 构建配置问题排查
前端
FogLetter28 分钟前
从"乱炖"到"法式大餐":Promise如何优雅地管理异步流程
前端·javascript
鹘一29 分钟前
SSE实现deepseek流式输出
前端
xiaok29 分钟前
JavaScript同步与异步执行顺序解析
前端
GIS之路30 分钟前
OpenLayers 图层遮罩与裁剪
前端