HarmonyOS 鸿蒙Next中webview加载H5能禁止App Link弹窗拉起别的app吗

HarmonyOS 鸿蒙Next中webview加载H5能禁止App Link弹窗拉起别的app吗 如题 我不想要这个弹窗提示是否打开app, 想直接跳转h5

3 回复

大佬你用的是deeplink吧,applink是直接拉起应用的,怎么会有弹窗呢?你先看下我的代码,还有问题的话把你的代码发了给我看看:

import type { common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

@Entry
@Component
struct Index {
  build() {
    Button('start app linking', { type: ButtonType.Capsule, stateEffect: true })
      .width('87%')
      .height('5%')
      .margin({ bottom: '12vp' })
      .onClick(() => {
        let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
        // 需要拼接不同的应用包名,用以打开不同的应用详情页,例如:bundleName: 'com.huawei.hmsapp.books'
        let bundleName: string = 'xxxx';
        let link: string = 'https://appgallery.huawei.com/app/detail?id=' + bundleName;
        // 以App Linking优先的方式在应用市场打开指定包名的应用详情页
        context.openLink(link, { appLinkingOnly: false })
          .then(() => {
            hilog.info(0x0001, 'TAG', 'openlink success.');
          })
          .catch((error: BusinessError) => {
            hilog.error(0x0001, 'TAG', `openlink failed. Code: ${error.code}, message is ${error.message}`);
          });
      })
  }
}
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>跳转示例</title>
</head>
<body>
<a href='https://appgallery.huawei.com/app/detail?id=bundleName'>AppLinking跳转示例</a>
</body>
</html>

更多关于HarmonyOS 鸿蒙Next中webview加载H5能禁止App Link弹窗拉起别的app吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,可通过配置WebView的WebSetting启用setAppLinkEnabled(false)来禁止App Link弹窗拉起其他应用。此设置会阻止WebView自动处理URL链接跳转,避免触发外部应用弹窗。需在代码中显式调用该方法,无需依赖Java或C语言实现。

在HarmonyOS Next中,可以通过WebView组件的setOpenDeepLink()方法控制是否允许App Link弹窗拉起其他应用。若需直接跳转H5页面而禁止弹窗,可调用webView.setOpenDeepLink(false),这样WebView将直接加载H5链接,不会触发外部应用跳转提示。此设置适用于需要保持H5页面连续性的场景,避免用户操作中断。

回到顶部