HarmonyOS 鸿蒙Next中代理提醒权限申请

HarmonyOS 鸿蒙Next中代理提醒权限申请

import { reminderAgentManager } from '@kit.BackgroundTasksKit';
import { notificationManager } from '@kit.NotificationKit';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct ReminderAgentTestPage {
  async addReminder() {
    // 坑点:代理提醒权限需要向官方申请,否则会出现下面的问题:
    //    Failed to publish reminder. Code: 1700002, message: The number of reminders exceeds the limit.
    let targetReminderAgent: reminderAgentManager.ReminderRequestTimer = {
      reminderType: reminderAgentManager.ReminderType.REMINDER_TYPE_TIMER, // 提醒类型为倒计时类型
      triggerTimeInSeconds: 10, // 倒计时的秒数
      actionButton: [// 设置弹出的提醒通知信息上显示的按钮类型和标题
        {
          title: 'close',
          type: reminderAgentManager.ActionButtonType.ACTION_BUTTON_TYPE_CLOSE
        }
      ],
      wantAgent: {
        // 点击提醒通知后跳转的目标UIAbility信息
        pkgName: 'com.example.my0818app',
        abilityName: 'EntryAbility'
      },
      title: 'this is title', // 指明提醒标题
      content: 'this is content', // 指明提醒内容
      expiredContent: 'this reminder has expired', // 指明提醒过期后需要显示的内容
      notificationId: 100, // 指明提醒使用的通知的ID号,相同ID号的提醒会覆盖
      slotType: notificationManager.SlotType.SOCIAL_COMMUNICATION // 指明提醒的Slot类型
    }


    reminderAgentManager.publishReminder(targetReminderAgent).then((res: number) => {
      console.info('Succeeded in publishing reminder. ');
      let reminderId: number = res; // 发布的提醒ID
    }).catch((err: BusinessError) => {
      console.error(`Failed to publish reminder. Code: ${err.code}, message: ${err.message}`);
    })
  }
  
  build() {
    Row() {
      Column() {
        Button('添加提醒')
          .onClick(() => {
            this.addReminder()
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}

在模拟器执行时显示:

Failed to publish reminder. Code: 1700002, message: The number of reminders exceeds the limit.

在moudle.json5中已写

"ohos.permission.PUBLISH_AGENT_REMINDER"

应用后台通知也已开启,在网上搜的是是要邮件申请代理权限,但具体该怎么申请啊?


更多关于HarmonyOS 鸿蒙Next中代理提醒权限申请的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

我知道是这个啊,我问的是发邮件的邮箱随便哪一个都行吗,还是得用AGC?,

企业邮箱

请问对于初学者来说,没有企业邮箱的话可以用QQ邮箱之类的吗?

在HarmonyOS Next中申请代理提醒权限,需在module.json5文件中声明ohos.permission.PUBLISH_AGENT_REMINDER权限。应用需在运行时通过调用requestPermissionsFromUser方法动态请求用户授权。权限申请结果通过异步回调返回,需处理授权成功或失败逻辑。

在HarmonyOS Next中,代理提醒权限(ohos.permission.PUBLISH_AGENT_REMINDER)属于系统敏感权限,默认情况下开发者无法直接通过配置文件申请使用。错误码1700002(提醒数量超限)通常是由于未获得正式授权导致的。

你需要通过以下步骤申请权限:

  1. 访问 华为开发者联盟官网,登录你的开发者账号。
  2. 进入“我的项目”,选择对应的HarmonyOS应用项目。
  3. 在“权限管理”或“服务申请”板块中,找到“代理提醒权限”或相关系统权限申请入口。
  4. 提交申请,需提供应用场景说明、使用理由等必要信息。
  5. 等待审核,审核通过后,该权限会在应用签名或发布时生效。

在开发阶段,如果仅用于调试,可尝试使用系统预置的调试证书,但部分权限仍受限。建议先完成权限申请流程,确保后续功能正常。

回到顶部