HarmonyOS 鸿蒙Next 使用外链拉起浏览器时,勾选30天不再提示不生效的问题如何解决
HarmonyOS 鸿蒙Next 使用外链拉起浏览器时,勾选30天不再提示不生效的问题如何解决
【问题现象】
在应用内部打开外链时,第一次弹窗之后勾选了30天不再弹窗,在不清掉应用的情况下,再次点击跳转外链还是会弹窗。
问题代码如下:
let want: Want = {
action: 'ohos.want.action.viewData',
entities: ['entity.system.browsable'],
abilityName: 'MainAbility',
uri: 'https://developer.huawei.com/consumer/cn/blog/topic/03147442746907029',
}
let uiContent = getContext() as common.UIAbilityContext
uiContent.startAbility(want)
【背景知识】
- Want是一种对象,用于在应用组件之间传递信息。
- 常见的使用场景是作为startAbility()方法的参数。例如,当UIAbilityA需要启动UIAbilityB并向UIAbilityB传递一些数据时,可以使用Want作为一个载体,将数据传递给UIAbilityB。
【定位思路】
观察代码可以发现,上述代码在通过startAbility(wangt)拉起浏览器的时候,want参数填写是有问题的,正常来说设置了abilityName字段同时也需要设置bundleNmae才能正确的设置显示拉起。或者就是两个字段都不设置,让系统隐式拉起。基于这个思路尝试修改代码,看是否解决问题。
【解决方案】
基于问题代码,补充want信息的bundleName字段,或者去掉abilityName字段:
(1)如果需要显示拉起,就添加上bundleName。
代码示例如下:
let want: Want = {
action:'ohos.want.action.viewData',
entities: ['entity.system.browsable'],
abilityName:'MainAbility',
bundleName:'xxx',
uri:'https://developer.huawei.com/consumer/cn/blog/topic/03147442746907029',
}
let uiContent =getContext() as common.UIAbilityContext
uiContent.startAbility(want)
(2)如果需要隐式拉起,则去掉abilityName。
代码示例如下:
let want: Want = {
action: 'ohos.want.action.viewData',
entities: ['entity.system.browsable'],
uri: 'https://developer.huawei.com/consumer/cn/blog/topic/03147442746907029',
}
let uiContent = getContext() as common.UIAbilityContext
uiContent.startAbility(want)
最终验证这两种方式都可以解决跳转系统浏览器时,勾选不再提示不生效的问题。
1 回复
针对HarmonyOS鸿蒙Next使用外链拉起浏览器时,勾选“30天不再提示”不生效的问题,以下是一些可能的解决方案:
- 检查系统权限:确保鸿蒙系统已授予应用相应的权限,特别是访问网络和打开其他应用的权限。这些权限是拉起外部应用或浏览器时的关键。
- 验证外链格式:确保分享的外链格式正确,包括协议头(如http://或https://)和完整的URL路径。格式错误可能导致系统无法正确解析外链。
- 更新系统版本:有时系统更新可能修复已知的兼容性问题。请确保鸿蒙系统和相关应用都已更新到最新版本。
- 浏览器设置:检查浏览器的设置,确保没有禁用或限制打开外部链接的选项。
- 缓存和Cookie清理:清理浏览器缓存和Cookie,有时这些临时数据可能干扰外链的正常拉起。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。他们将为你提供更专业的帮助。