代码拉取完成,页面将自动刷新
本示例共介绍了Web用户权限校验以及应用广告的使用场景,方便开发者开发类似场景。
1.仅支持标准系统上运行,支持设备:华为手机或运行在DevEco Studio上的华为手机设备模拟器。
2.支持 API Version 12 Release及以上版本。
3.支持 HarmonyOS 5.0.0 Release SDK及以上版本。
4.需要使用DevEco Studio 5.0.0 Release及以上版本进行编译运行。
1.点击对应的web页浏览信息,跳转并加载本地对应的web信息页。
2.Web信息页会对请求拦截,加载本地资源以及只加载允许加载的信息页。
3.信息页内有应用广告,点击拉起应用详情进行下载或打开应用。
1.Web用户权限校验以及应用广告场景。该场景演示跨域加载页面,通过设置onInterceptRequest属性,对请求进行拦截并替换加载本地资源。
Web({ src: this.webUrl, controller: this.webviewController })
.height($r('app.float.web_height'))
.onInterceptRequest((event) => {
if (!event) {
return;
}
let response = new WebResourceResponse();
// 在reponse中设置本地资源,并返回
response.set...
return response
})
2.Web应用广告是通过js方法调用loadAppDetail方法来加载应用详情。
// 应用侧方法
export function loadAppDetail(context: common.UIAbilityContext) {
try {
const request: Want = {
parameters: {
// 此处填入要加载的应用包名,例如: bundleName: "com.huawei.hmsapp.appgallery"
bundleName: 'com.huawei.hmsapp.appgallery'
}
};
productViewManager.loadProduct(context, request);
} catch (err) {
Logger.error('TAG', `loadProduct failed.code is ${err.code}, message is ${err.message}`);
}
}
// 前端侧js方法
function appAdv() {
window.ohosCallNative.callNative('appAdvertise', {})
}
entry/src/main/ets // hap类型, 场景页面代码所在模块
|---entryability
| |---EntryAbility.ets
|---entrybackupability
| |---EntryBackupAbility.ets
|---model
| |---CollapseModel.ets
|---pages
| | ---MainPage.ets // 场景分类主页
|---views
| |---news // Web用户权限校验以及应用广告
| | |---views
| | | |---NewsItem.ets
| | | |---WebLoadOnIntercept.ets
| | |---News.ets
| |---Collapse.ets
InteractWebAndApp // har模块,web前端页与应用侧交互实现
LoadWebPage // har模块,web前端页加载以及公共实现
无
修改内容 | 时间 |
---|---|
首版本 | 2025.3.12 |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。