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页面连续性的场景,避免用户操作中断。