1# 全局资源调度子系统Changelog
2
3## cl.backgroundtasks.1 reminderAgentManager.publishReminder 权限管控
4
5**访问级别**
6
7公开接口。
8
9**变更原因**
10
11由于应用存在滥用后台代理提醒能力,利用该能力发送广告、营销类延时提醒,影响用户体验;因此针对此问题,后台代理提醒增加管控机制,未通过管控的应用无法使用后台代理提醒能力。
12
13**变更影响**
14
15该变更为不兼容变更。
16
17变更前:应用使用后台代理提醒创建延时提醒,调用接口成功,返回提醒 id。
18
19```ts
20import { BusinessError } from '@kit.BasicServicesKit';
21
22let timer: reminderAgentManager.ReminderRequestTimer = {
23  reminderType: reminderAgentManager.ReminderType.REMINDER_TYPE_TIMER,
24  triggerTimeInSeconds: 10
25}
26
27reminderAgentManager.publishReminder(timer, (err: BusinessError, reminderId: number) => {
28  // 变更前,接口返回成功,reminderId > 0,提醒发布成功
29});
30```
31
32变更后:应用使用后台代理提醒创建延时提醒,调用接口失败,返回错误码 1700002。
33
34```ts
35import { BusinessError } from '@kit.BasicServicesKit';
36
37let timer: reminderAgentManager.ReminderRequestTimer = {
38  reminderType: reminderAgentManager.ReminderType.REMINDER_TYPE_TIMER,
39  triggerTimeInSeconds: 10
40}
41
42reminderAgentManager.publishReminder(timer, (err: BusinessError, reminderId: number) => {
43  // 变更后,接口返回失败,errcode 为 1700002,发布提醒失败
44  if (err.code == 1700002) {
45      // 受管控,无法使用代理提醒
46  }
47});
48```
49
50**起始 API Level**
51
529
53
54**变更发生的版本**
55
56从OpenHarmony SDK 5.0.0.38开始。
57
58**变更的接口/组件**
59
60**适配指导**
61
62方案一:
63
64开发者可以使用日历 API,创建延时类提醒,详见[Calendar Kit开发指南](../../../application-dev/calendarmanager/calendarmanager-event-developer.md)。
65
66方案二:
67
68开发者若需要使用后台代理提醒能力,发送延时类提醒,需要提供如下信息,申请方式详见[代理提醒开发指南](../../../application-dev/task-management/agent-powered-reminder.md)。
69
70申请权限名称:后台代理提醒
71
72应用名称:详见配置文件(module.json5)中 label 字段对应的值。
73
74应用包名:详见配置文件(app.json)中 bundleName 字段对应的值。
75
76使用场景:提供申请理由/用途/尽可能附上图片,及使用代理提醒的必要性。
77