首页 > 其他分享 >【HarmonyOS】鸿蒙3.0使用WebView进行链接跳转,告警“hwbr_engine_AwContentsClient: Denied starting an intent without a

【HarmonyOS】鸿蒙3.0使用WebView进行链接跳转,告警“hwbr_engine_AwContentsClient: Denied starting an intent without a

时间:2022-11-29 17:05:06浏览次数:73  
标签:engine Java 跳转 intent webView Denied WebView super public

 【问题描述】

使用鸿蒙3.0 JavaUI的WebView,部分网址使用官网上的load方法(​​WebView-常用组件开发指导-Java UI框架-UI-基于Java开发-开发-HarmonyOS应用开发​​)无任何反应,且log中告警:“hwbr_engine_AwContentsClient: Denied starting an intent without a user gesture”

【解决方案】

需要添加自定义的WebAgent,参考官网“定制网页加载行为”(​​WebView-常用组件开发指导-Java UI框架-UI-基于Java开发-开发-HarmonyOS应用开发​​)中的代码进行修改,代码如下:

public class MainAbilitySlice extends AbilitySlice {
final String url = "http://xxx.yyy.cn" ;

@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_main);

WebView webView = (WebView) findComponentById(ResourceTable.Id_webview);
webView.getWebConfig().setJavaScriptPermit(true);
webView.setWebAgent(new MyWebAgent());
webView.load(url);
}

@Override
public void onActive() {
super.onActive();
}

@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
}

class MyWebAgent extends WebAgent {
@Override
public boolean isNeedLoadUrl(WebView webview, ResourceRequest request) {
return super.isNeedLoadUrl(webview, request);
}
}

【HarmonyOS】鸿蒙3.0使用WebView进行链接跳转,告警“hwbr_engine_AwContentsClient: Denied starting an intent without a_ide

​欲了解更多更全技术文章,欢迎访问​​https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh​

标签:engine,Java,跳转,intent,webView,Denied,WebView,super,public
From: https://blog.51cto.com/u_14772288/5896020

相关文章