当前位置: 首页 > article >正文

【每日学点HarmonyOS Next知识】web播放音频、接口调用不成功、底部横幅路由问题、富文本问题、onLoadIntercept修改header

【每日学点HarmonyOS Next知识】web播放音频、接口调用不成功、底部横幅路由问题、富文本问题、onLoadIntercept修改header

1、HarmonyOS 在web组件中播放音频没有声音,手指触摸一下h5页面才有声音?

需要设置mediaPlayGestureAccess(false),参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5#ZH-CN_TOPIC_0000001847049744__mediaplaygestureaccess

2、HarmonyOS 接口调用不成功?

接口请求不通,提示 Error: The input string contains unsupported characters 使用postman调试接口是通的

根据报错信息提示:输入字符串包含不支持的字符,base64解码可参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-util-V5

该模块主要提供常用的工具函数,实现字符串编解码(TextEncoder,TextDecoder)、有理数运算(RationalNumber8+)、缓冲区管理(LRUCache9+)、范围判断(ScopeHelper9+)、Base64编解码(Base64Helper9+)、内置对象类型检查(types8+、对方法进行插桩和替换(Aspect11+)等功能。

3、HarmonyOS 底部横条和子window路由问题?

如何显示/隐藏底部横条在 subwindow 里发一个路由(router.push…)
如何让目标页面从主 window 路由进来,而不是从 subwindow页面进来

参考代码:

onWindowStageCreate(windowStage: window.WindowStage) {
  windowStage.getMainWindow().then((windowObj) => {
    windowObj.setWindowLayoutFullScreen(true);
    windowObj.setWindowSystemBarEnable(['status'])
  });
}

.onClick(()=>{
  // 先通过上下文获取windowStage
  (getContext() as common.UIAbilityContext).windowStage
    // 获取主窗口
    .getMainWindowSync().getUIContext()
    // 获取路由栈
    .getRouter()
      // 推送页面
    .pushUrl({
      "url":"pages/Page"
    })
})

参考链接如下:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-window-stage-V5

  • 窗口沉浸式能力:指对状态栏、导航栏等系统窗口进行控制,减少状态栏导航栏等系统界面的突兀感,从而使用户获得最佳体验的能力。沉浸式能力只在应用主窗口作为全屏窗口时生效。通常情况下,应用子窗口(弹窗、悬浮窗口等辅助窗口)和处于自由窗口下的应用主窗口无法使用沉浸式能力。

  • 悬浮窗:全局悬浮窗口是一种特殊的应用窗口,具备在应用主窗口和对应Ability退至后台后仍然可以在前台显示的能力。悬浮窗口可以用于应用退至后台后,使用小窗继续播放视频,或者为特定的应用创建悬浮球等快速入口。应用在创建悬浮窗口前,需要申请对应的权限。

4、如何实现类似于Html.fromHtml(pageContent);的能力

RichText组件不支持通过设置属性与事件,来修改背景颜色、字体颜色、字体大小、动态改变内容等。在这种情况下,推荐使用Web组件。可以将以上场景写到H5页面,通过Web组件加载。

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5

5、HarmonyOS Web组件onLoadIntercept中修改WebResourceRequest的Header如何实现?

修改Header使用onInterceptRequest,具体使用可以参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5
使用webview的loadUrl设置header参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5#loadurl

1、HarmonyOS 在web组件中播放音频没有声音,手指触摸一下h5页面才有声音?

需要设置mediaPlayGestureAccess(false),参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5#ZH-CN_TOPIC_0000001847049744__mediaplaygestureaccess

2、HarmonyOS 接口调用不成功?

接口请求不通,提示 Error: The input string contains unsupported characters 使用postman调试接口是通的

根据报错信息提示:输入字符串包含不支持的字符,base64解码可参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-util-V5

该模块主要提供常用的工具函数,实现字符串编解码(TextEncoder,TextDecoder)、有理数运算(RationalNumber8+)、缓冲区管理(LRUCache9+)、范围判断(ScopeHelper9+)、Base64编解码(Base64Helper9+)、内置对象类型检查(types8+、对方法进行插桩和替换(Aspect11+)等功能。

3、HarmonyOS 底部横条和子window路由问题?

如何显示/隐藏底部横条在 subwindow 里发一个路由(router.push…)
如何让目标页面从主 window 路由进来,而不是从 subwindow页面进来

参考代码:

onWindowStageCreate(windowStage: window.WindowStage) {
  windowStage.getMainWindow().then((windowObj) => {
    windowObj.setWindowLayoutFullScreen(true);
    windowObj.setWindowSystemBarEnable(['status'])
  });
}

.onClick(()=>{
  // 先通过上下文获取windowStage
  (getContext() as common.UIAbilityContext).windowStage
    // 获取主窗口
    .getMainWindowSync().getUIContext()
    // 获取路由栈
    .getRouter()
      // 推送页面
    .pushUrl({
      "url":"pages/Page"
    })
})

参考链接如下:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-window-stage-V5

  • 窗口沉浸式能力:指对状态栏、导航栏等系统窗口进行控制,减少状态栏导航栏等系统界面的突兀感,从而使用户获得最佳体验的能力。沉浸式能力只在应用主窗口作为全屏窗口时生效。通常情况下,应用子窗口(弹窗、悬浮窗口等辅助窗口)和处于自由窗口下的应用主窗口无法使用沉浸式能力。

  • 悬浮窗:全局悬浮窗口是一种特殊的应用窗口,具备在应用主窗口和对应Ability退至后台后仍然可以在前台显示的能力。悬浮窗口可以用于应用退至后台后,使用小窗继续播放视频,或者为特定的应用创建悬浮球等快速入口。应用在创建悬浮窗口前,需要申请对应的权限。

4、如何实现类似于Html.fromHtml(pageContent);的能力

RichText组件不支持通过设置属性与事件,来修改背景颜色、字体颜色、字体大小、动态改变内容等。在这种情况下,推荐使用Web组件。可以将以上场景写到H5页面,通过Web组件加载。

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5

5、HarmonyOS Web组件onLoadIntercept中修改WebResourceRequest的Header如何实现?

修改Header使用onInterceptRequest,具体使用可以参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5
使用webview的loadUrl设置header参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5#loadurl


http://www.kler.cn/a/572167.html

相关文章:

  • 算法思想-贪心算法
  • 3.多线程获取音频AI的PCM数据
  • CSDN博客写作教学(五):从写作到个人IP的体系化构建(完结篇)
  • react 父组件调用子组件方法:forwardRef + useImperativeHandle
  • Qt常用控件之滑动条QSlider
  • doris:Iceberg
  • Windows 10 下 SIBR Core (i.e. 3DGS SIBR Viewers) 的编译
  • go前后端开源项目go-admin,本地启动
  • 【目录爆破与文件枚举工具对比】
  • 商淘云:跨境电商源码网站开发部署需要注意的三大关键点
  • QCP:数字科技先锋者 引领数字金融时代
  • SQL经典常用查询语句
  • 今天来介绍和讨论 AGI(通用人工智能)
  • 一种中文分词的动态规划模型
  • 纯前端实现「羊了个羊」小游戏(附源码)
  • DeepSeek掘金——DeepSeek-R1驱动的金融分析师
  • android13打基础: 控件alertdialog
  • 基于javaweb的SSM+Maven教务管理系统设计和实现(源码+文档+部署讲解)
  • 关于签名验证不存在的错误
  • Docker 学习(二)——基于Registry、Harbor搭建私有仓库