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(want)拉起浏览器的时候,want参数填写是有问题的,正常来说设置了abilityName字段同时也需要设置bundleName才能正确的设置显示拉起。或者就是两个字段都不设置,让系统隐式拉起。基于这个思路尝试修改代码,看是否解决问题。

【解决方案】

基于问题代码,补充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)
  1. 如果需要隐式拉起,则去掉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)

最终验证这两种方式都可以解决跳转系统浏览器时,勾选不再提示不生效的问题。


更多关于HarmonyOS 鸿蒙Next中使用外链拉起浏览器时,勾选30天不再提示不生效的问题如何解决的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next中使用外链拉起浏览器时,勾选30天不再提示不生效的问题如何解决的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,使用外链拉起浏览器时,勾选“30天不再提示”不生效的问题

在HarmonyOS鸿蒙Next中,使用外链拉起浏览器时,勾选“30天不再提示”不生效的问题,可能是由于系统或应用的缓存机制未正确处理该选项。

解决方案

  1. 确保系统版本和应用版本均为最新,以排除已知的兼容性问题。
  2. 检查应用的权限设置,确保其具有存储和读取用户偏好的权限。
  3. 如果问题依然存在,可以尝试清除应用缓存或重新安装应用,以重置相关设置。
  4. 开发者可以通过调试工具检查应用在勾选“30天不再提示”时的日志信息,确认是否有异常或错误提示。
  5. 如果问题仍未解决,建议查阅鸿蒙开发者文档,确认是否存在相关API的调用限制或已知问题。
回到顶部