HarmonyOS鸿蒙Next中Qt程序通过QDesktopServices::openUrl(url)打开网页A后,窗口录制浏览器捕获会重新打开A网页

HarmonyOS鸿蒙Next中Qt程序通过QDesktopServices::openUrl(url)打开网页A后,窗口录制浏览器捕获会重新打开A网页 应用中通过QDesktopServices::openUrl(url)打开了帮助界面A等网页,打开后不关闭浏览器。这之后调用OH_AVScreenCapture_StartScreenCapture启动窗口选择弹窗并且选择浏览器,这时候会再次打开一个A网页。

或者使用其他第三方工具例如EV录屏都会出现这个问题。需要重新关掉浏览器打开新的浏览器才会正常。

有没有小伙伴遇到过这个问题,如何解决?

4 回复

你好,请问使用的浏览器的华为自带的浏览器吗?

更多关于HarmonyOS鸿蒙Next中Qt程序通过QDesktopServices::openUrl(url)打开网页A后,窗口录制浏览器捕获会重新打开A网页的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


是的,是默认的华为自带的浏览器。

在HarmonyOS Next中,通过QDesktopServices::openUrl(url)打开网页时,系统会启动默认浏览器处理请求。窗口录制功能可能检测到浏览器活动并重新捕获或触发页面加载,导致网页A被重新打开。此行为与鸿蒙的窗口管理机制及浏览器响应方式相关,属于系统级交互现象。

在HarmonyOS Next中,通过QDesktopServices::openUrl(url)调用系统浏览器打开网页后,如果立即启动窗口录制(如OH_AVScreenCapture_StartScreenCapture),系统可能会重新触发浏览器的页面加载行为。这是因为窗口录制功能在捕获浏览器进程时,可能重新初始化了浏览器的会话状态,导致已打开的页面被重新加载。

建议检查以下两点:

  1. 确保在启动屏幕录制前,浏览器已完全加载目标页面且处于稳定状态。
  2. 尝试通过延迟录制启动或检测浏览器页面加载完成事件后再触发窗口捕获,避免并发操作干扰。

如果问题持续,可能是系统层面对浏览器进程的管理策略导致,需关注HarmonyOS的后续版本更新。

回到顶部