HarmonyOS 鸿蒙Next点击通知无法打开对应的应用界面

发布于 1周前 作者 sinazl 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next点击通知无法打开对应的应用界面

咨询描述:
我们下载pdf文件,会通过带进度的通知,在通知栏出现提示用户。
期望点击通知,可以跳转到查看这个pdf文件的应用界面。
目前遇到两个问题:
1、怎么打开系统自带的文件管理器,并且定位到我们下载完的文件的目录
2、按照发布通知栏,并且关联WantAgent,发现通知无效,也就是没有通知出现在通知栏,不知道为什么。
麻烦帮忙看一下

下面是我们发布通知的代码:

private async publishNotification(id: number, title: string, fileName: string, filePath: string,
progressValue: number) {
  log.d(TAG, "publishNotification")
  let wantAgentObj: WantAgent; // 用于保存创建成功的WantAgent对象,后续使用其完成触发的动作。
  // 通过WantAgentInfo的operationType设置动作类型
  let wantInfo: Want = {
    bundleName: 'com.huawei.hmos.settings',
    abilityName: 'com.huawei.hmos.settings.MainAbility',
    uri: 'application_info_entry',
    parameters: {
      pushParams: appContext.appName() // 打开指定应用的详情页面
    }
  }
  let wantAgentInfo: wantAgent.WantAgentInfo = {
    wants: [
      wantInfo
    ],
    operationType: wantAgent.OperationType.START_ABILITY,
    requestCode: 0,
    wantAgentFlags: [wantAgent.WantAgentFlags.CONSTANT_FLAG],
  };
  // 创建WantAgent
  try {
    wantAgentObj = await wantAgent.getWantAgent(wantAgentInfo);
  } catch (e) {
    return
  }

  let notificationRequest: notificationManager.NotificationRequest = {
    id: id,
    content: {
      notificationContentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
      normal: {
        title: title,
        text: 'test_text',
        additionalText: 'test_additionalText'
      }
    },
    // 构造进度条模板,name字段当前需要固定配置为downloadTemplate
    template: {
      name: 'downloadTemplate',
      data: { title: title, fileName: fileName, progressValue: progressValue }
    },
    wantAgent: wantAgentObj,
  }

  // 发布通知
  notificationManager.publish(notificationRequest, (err: BusinessError) => {
    if (err) {
      console.error(`Failed to publish notification. Code is ${err.code}, message is ${err.message}`);
      return;
    }
    console.info('Succeeded in publishing notification.');
  });
}

更多关于HarmonyOS 鸿蒙Next点击通知无法打开对应的应用界面的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
三方应用不支持通过自己的通知拉起其他应用,只能拉起自己应用,bundlename、abilityname只能填写自己应用的。

下载到本应用的文件如果想拷贝进文管应用打开,只能用过DocumentViewPicker实现,参考文档:‘https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-picker-V5#save-3

更多关于HarmonyOS 鸿蒙Next点击通知无法打开对应的应用界面的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,如果遇到点击通知无法打开对应的应用界面的问题,通常可能是由以下几个原因导致的:

  1. 应用未正确注册通知点击事件:开发者在应用开发中需要确保为通知设置了正确的点击事件监听,以及指定了正确的目标Activity或页面。

  2. 系统权限问题:应用可能未获得必要的系统权限,如通知权限或特定应用的启动权限,导致无法响应通知点击。

  3. 应用状态异常:应用可能处于异常状态(如崩溃、被系统强制停止等),导致无法被正常唤醒。

  4. 通知内容格式错误:通知内容或格式不符合系统要求,可能导致点击后无法正确解析并打开应用。

  5. 系统缓存问题:系统缓存可能导致通知处理异常,尝试重启设备或清除系统缓存可能有助于解决问题。

  6. 应用版本不兼容:如果应用未针对当前鸿蒙系统版本进行优化或存在兼容性问题,也可能导致通知点击无法正常工作。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部