js-apis-reminderAgentManager.md 23.6 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.reminderAgentManager (后台代理提醒)
廖康康 已提交
2 3 4

本模块提供后台代理提醒的能力。

L
Leon 已提交
5
开发应用时,开发者可以调用相关接口创建定时提醒,包括倒计时、日历、闹钟这三类提醒类型。使用后台代理提醒能力后,应用被冻结或退出后,计时和弹出提醒的功能将被后台系统服务代理。
廖康康 已提交
6

廖康康 已提交
7 8 9
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
廖康康 已提交
10 11 12 13


## 导入模块

L
Leon 已提交
14
```ts
廖康康 已提交
15 16 17 18
import reminderAgentManager from'@ohos.reminderAgentManager';
```


廖康康 已提交
19
## reminderAgentManager.publishReminder
廖康康 已提交
20

L
Leon 已提交
21 22 23
```ts
publishReminder(reminderReq: ReminderRequest, callback: AsyncCallback<number>): void
```
廖康康 已提交
24

L
Leon 已提交
25
发布一个后台代理提醒,使用回调的方式实现异步调用,该方法需要申请通知弹窗权限[Notification.requestEnableNotification](js-apis-notification.md#notificationrequestenablenotification8)后才能调用。
廖康康 已提交
26

L
Leon 已提交
27
**需要权限**`ohos.permission.PUBLISH_AGENT_REMINDER`
廖康康 已提交
28

L
Leon 已提交
29
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
30 31 32 33 34 35

**参数**

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | reminderReq | [ReminderRequest](#reminderrequest) | 是 | 需要发布的提醒实例。 |
L
Leon 已提交
36
  | callback | AsyncCallback\<number\> | 是 | 异步回调,返回当前发布的提醒的id。 |
廖康康 已提交
37

廖康康 已提交
38 39
**错误码:**

40
以下错误码的详细介绍请参见[@ohos.reminderAgentManager(后台代理提醒)](../errorcodes/errorcode-reminderAgentManager.md)错误码。
廖康康 已提交
41

廖康康 已提交
42
| 错误码ID   | 错误信息 |
廖康康 已提交
43
| --------- | ------- |
廖康康 已提交
44
| 1700001    | Notification is not enabled. |
廖康康 已提交
45 46
| 1700002    | The number of reminders exceeds the limit. |

廖康康 已提交
47
**示例**
L
Leon 已提交
48
```ts
廖康康 已提交
49 50 51 52
let timer = {
    reminderType: reminderAgentManager.ReminderType.REMINDER_TYPE_TIMER,
    triggerTimeInSeconds: 10
}
L
Leon 已提交
53

廖康康 已提交
54 55 56 57 58 59 60 61 62 63 64 65 66 67
try {
    reminderAgentManager.publishReminder(timer, (err, reminderId) => {
        if (err) {
            console.log("callback err code:" + err.code + " message:" + err.message);
        } else {
            console.log("callback, reminderId = " + reminderId);
        }
    });
} catch (error) {
    console.log("publishReminder code:" + error.code + " message:" + error.message);
};
```


廖康康 已提交
68
## reminderAgentManager.publishReminder
廖康康 已提交
69

L
Leon 已提交
70 71 72
```ts
publishReminder(reminderReq: ReminderRequest): Promise<number>
```
廖康康 已提交
73

L
Leon 已提交
74
发布一个后台代理提醒,使用`Promise`的方式实现异步调用,该方法需要申请通知弹窗权限[Notification.requestEnableNotification](js-apis-notification.md#notificationrequestenablenotification8)后才能调用。
廖康康 已提交
75

L
Leon 已提交
76
**需要权限**`ohos.permission.PUBLISH_AGENT_REMINDER`
廖康康 已提交
77

L
Leon 已提交
78
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
79 80 81 82 83 84 85 86 87

**参数**
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | reminderReq | [ReminderRequest](#reminderrequest) | 是 | 需要发布的提醒实例。 |

**返回值**
  | 类型 | 说明 |
  | -------- | -------- |
L
Leon 已提交
88
  | Promise\<number\> | 返回提醒的id。 |
廖康康 已提交
89

廖康康 已提交
90 91
**错误码:**

92
以下错误码的详细介绍请参见[@ohos.reminderAgentManager(后台代理提醒)](../errorcodes/errorcode-reminderAgentManager.md)错误码。
廖康康 已提交
93

廖康康 已提交
94
| 错误码ID   | 错误信息 |
廖康康 已提交
95
| --------- | ------- |
廖康康 已提交
96
| 1700001    | Notification is not enabled. |
廖康康 已提交
97 98
| 1700002    | The number of reminders exceeds the limit. |

廖康康 已提交
99
**示例**
L
Leon 已提交
100
```ts
廖康康 已提交
101 102 103 104
let timer = {
    reminderType: reminderAgentManager.ReminderType.REMINDER_TYPE_TIMER,
    triggerTimeInSeconds: 10
}
L
Leon 已提交
105

廖康康 已提交
106 107 108 109 110 111 112 113 114 115 116 117
try {
    reminderAgentManager.publishReminder(timer).then((reminderId) => {
        console.log("promise, reminderId = " + reminderId);
    }).catch(err => {
        console.log("promise err code:" + err.code + " message:" + err.message);
    });
} catch (error) {
    console.log("publishReminder code:" + error.code + " message:" + error.message);
};
```


廖康康 已提交
118
## reminderAgentManager.cancelReminder
廖康康 已提交
119

L
Leon 已提交
120 121 122
```ts
cancelReminder(reminderId: number, callback: AsyncCallback<void>): void
```
廖康康 已提交
123

L
Leon 已提交
124
取消指定id的提醒,使用回调的方式实现异步调用。
廖康康 已提交
125

L
Leon 已提交
126
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
127 128 129 130 131

**参数**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
L
Leon 已提交
132 133
| reminderId | number | 是 | 目标提醒的id号。 |
| callback | AsyncCallback\<void\> | 是 | 异步回调。 |
廖康康 已提交
134

廖康康 已提交
135 136
**错误码:**

137
以下错误码的详细介绍请参见[@ohos.reminderAgentManager(后台代理提醒)](../errorcodes/errorcode-reminderAgentManager.md)错误码。
廖康康 已提交
138

廖康康 已提交
139
| 错误码ID   | 错误信息 |
廖康康 已提交
140 141
| --------- | ------- |
| 1700003    | The reminder does not exist. |
廖康康 已提交
142
| 1700004    | The bundle name does not exist. |
廖康康 已提交
143

廖康康 已提交
144 145
**示例**

L
Leon 已提交
146
```ts
廖康康 已提交
147 148 149 150 151 152 153 154 155 156 157 158 159 160
try {
    reminderAgentManager.cancelReminder(1, (err, data) => {
        if (err) {
            console.log("callback err code:" + err.code + " message:" + err.message);
        } else {
            console.log("cancelReminder callback");
        }
    });
} catch (error) {
    console.log("cancelReminder code:" + error.code + " message:" + error.message);
};
```


廖康康 已提交
161
## reminderAgentManager.cancelReminder
廖康康 已提交
162

L
Leon 已提交
163 164 165
```ts
cancelReminder(reminderId: number): Promise<void>
```
廖康康 已提交
166

L
Leon 已提交
167
取消指定id的提醒,使用`Promise`方式实现异步调用。
廖康康 已提交
168

L
Leon 已提交
169
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
170 171 172 173 174

**参数**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
L
Leon 已提交
175
| reminderId | number | 是 | 目标提醒的id号。 |
廖康康 已提交
176 177 178 179 180

**返回值**

| 类型 | 说明 |
| -------- | -------- |
L
Leon 已提交
181
| PPromise\<void\>	 | Promise类型异步回调。 |
廖康康 已提交
182

廖康康 已提交
183 184
**错误码:**

185
以下错误码的详细介绍请参见[@ohos.reminderAgentManager(后台代理提醒)](../errorcodes/errorcode-reminderAgentManager.md)错误码。
廖康康 已提交
186

廖康康 已提交
187
| 错误码ID   | 错误信息 |
廖康康 已提交
188 189
| --------- | ------- |
| 1700003    | The reminder does not exist. |
廖康康 已提交
190
| 1700004    | The bundle name does not exist. |
廖康康 已提交
191

廖康康 已提交
192 193
**示例**

L
Leon 已提交
194
```ts
廖康康 已提交
195 196 197 198 199 200 201 202 203 204 205
try {
    reminderAgentManager.cancelReminder(1).then(() => {
        console.log("cancelReminder promise");
    }).catch(err => {
        console.log("promise err code:" + err.code + " message:" + err.message);
    });
} catch (error) {
    console.log("cancelReminder code:" + error.code + " message:" + error.message);
};
```

廖康康 已提交
206
## reminderAgentManager.getValidReminders
廖康康 已提交
207

L
Leon 已提交
208 209 210 211
```ts
getValidReminders(callback: AsyncCallback<Array<ReminderRequest>>): void

```
廖康康 已提交
212

L
Leon 已提交
213
获取当前应用已设置的所有有效(未过期)的提醒,使用回调方式实现异步调用。
廖康康 已提交
214

L
Leon 已提交
215
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
216 217 218 219 220

**参数**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
L
Leon 已提交
221
| callback | AsyncCallback\<Array\<[ReminderRequest](#reminderrequest)\>\> | 是 | 异步回调,返回当前应用已设置的所有有效(未过期)的提醒。 |
廖康康 已提交
222

廖康康 已提交
223 224
**错误码:**

225
以下错误码的详细介绍请参见[@ohos.reminderAgentManager(后台代理提醒)](../errorcodes/errorcode-reminderAgentManager.md)错误码。
廖康康 已提交
226

廖康康 已提交
227
| 错误码ID   | 错误信息 |
廖康康 已提交
228
| --------- | ------- |
廖康康 已提交
229
| 1700004    | The bundle name does not exist. |
廖康康 已提交
230

廖康康 已提交
231 232
**示例**

L
Leon 已提交
233
```ts
廖康康 已提交
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267
try {
    reminderAgentManager.getValidReminders((err, reminders) => {
        if (err) {
            console.log("callback err code:" + err.code + " message:" + err.message);
        } else {
            console.log("callback, getValidReminders length = " + reminders.length);
            for (let i = 0; i < reminders.length; i++) {
                console.log("getValidReminders = " + reminders[i]);
                console.log("getValidReminders, reminderType = " + reminders[i].reminderType);
                for (let j = 0; j < reminders[i].actionButton.length; j++) {
                    console.log("getValidReminders, actionButton.title = " + reminders[i].actionButton[j].title);
                    console.log("getValidReminders, actionButton.type = " + reminders[i].actionButton[j].type);
                }
                console.log("getValidReminders, wantAgent.pkgName = " + reminders[i].wantAgent.pkgName);
                console.log("getValidReminders, wantAgent.abilityName = " + reminders[i].wantAgent.abilityName);
                console.log("getValidReminders, maxScreenWantAgent.pkgName = " + reminders[i].maxScreenWantAgent.pkgName);
                console.log("getValidReminders, maxScreenWantAgent.abilityName = " + reminders[i].maxScreenWantAgent.abilityName);
                console.log("getValidReminders, ringDuration = " + reminders[i].ringDuration);
                console.log("getValidReminders, snoozeTimes = " + reminders[i].snoozeTimes);
                console.log("getValidReminders, timeInterval = " + reminders[i].timeInterval);
                console.log("getValidReminders, title = " + reminders[i].title);
                console.log("getValidReminders, content = " + reminders[i].content);
                console.log("getValidReminders, expiredContent = " + reminders[i].expiredContent);
                console.log("getValidReminders, snoozeContent = " + reminders[i].snoozeContent);
                console.log("getValidReminders, notificationId = " + reminders[i].notificationId);
                console.log("getValidReminders, slotType = " + reminders[i].slotType);
            }
        }
    })
} catch (error) {
    console.log("getValidReminders code:" + error.code + " message:" + error.message);
};
```

廖康康 已提交
268
## reminderAgentManager.getValidReminders
廖康康 已提交
269

L
Leon 已提交
270 271 272
```ts
getValidReminders(): Promise<Array<ReminderRequest>>
```
廖康康 已提交
273 274 275

获取当前应用已设置的所有有效(未过期)的提醒,使用Promise方式实现异步调用。

L
Leon 已提交
276
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
277 278 279 280 281

**返回值**

| 类型 | 说明 |
| -------- | -------- |
L
Leon 已提交
282
| Promise\<Array\<[ReminderRequest](#reminderrequest)\>\> | 返回当前应用已设置的所有有效(未过期)的提醒。 |
廖康康 已提交
283

廖康康 已提交
284 285
**错误码:**

286
以下错误码的详细介绍请参见[@ohos.reminderAgentManager(后台代理提醒)](../errorcodes/errorcode-reminderAgentManager.md)错误码。
廖康康 已提交
287

廖康康 已提交
288
| 错误码ID   | 错误信息 |
廖康康 已提交
289
| --------- | ------- |
廖康康 已提交
290
| 1700004    | The bundle name does not exist. |
廖康康 已提交
291

廖康康 已提交
292 293
**示例**

L
Leon 已提交
294
```ts
廖康康 已提交
295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327
try {
    reminderAgentManager.getValidReminders().then((reminders) => {
        console.log("promise, getValidReminders length = " + reminders.length);
        for (let i = 0; i < reminders.length; i++) {
            console.log("getValidReminders = " + reminders[i]);
            console.log("getValidReminders, reminderType = " + reminders[i].reminderType);
            for (let j = 0; j < reminders[i].actionButton.length; j++) {
                console.log("getValidReminders, actionButton.title = " + reminders[i].actionButton[j].title);
                console.log("getValidReminders, actionButton.type = " + reminders[i].actionButton[j].type);
            }
            console.log("getValidReminders, wantAgent.pkgName = " + reminders[i].wantAgent.pkgName);
            console.log("getValidReminders, wantAgent.abilityName = " + reminders[i].wantAgent.abilityName);
            console.log("getValidReminders, maxScreenWantAgent.pkgName = " + reminders[i].maxScreenWantAgent.pkgName);
            console.log("getValidReminders, maxScreenWantAgent.abilityName = " + reminders[i].maxScreenWantAgent.abilityName);
            console.log("getValidReminders, ringDuration = " + reminders[i].ringDuration);
            console.log("getValidReminders, snoozeTimes = " + reminders[i].snoozeTimes);
            console.log("getValidReminders, timeInterval = " + reminders[i].timeInterval);
            console.log("getValidReminders, title = " + reminders[i].title);
            console.log("getValidReminders, content = " + reminders[i].content);
            console.log("getValidReminders, expiredContent = " + reminders[i].expiredContent);
            console.log("getValidReminders, snoozeContent = " + reminders[i].snoozeContent);
            console.log("getValidReminders, notificationId = " + reminders[i].notificationId);
            console.log("getValidReminders, slotType = " + reminders[i].slotType);
        }
    }).catch(err => {
        console.log("promise err code:" + err.code + " message:" + err.message);
    });
} catch (error) {
    console.log("getValidReminders code:" + error.code + " message:" + error.message);
};
```


廖康康 已提交
328
## reminderAgentManager.cancelAllReminders
廖康康 已提交
329

L
Leon 已提交
330 331 332
```ts
cancelAllReminders(callback: AsyncCallback<void>): void
```
廖康康 已提交
333

L
Leon 已提交
334
取消当前应用所有的提醒,使用回调的方式实现异步调用。
廖康康 已提交
335

L
Leon 已提交
336
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
337 338 339 340 341

**参数**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
L
Leon 已提交
342
| callback | AsyncCallback\<void\> | 是 | 异步回调。 |
廖康康 已提交
343

廖康康 已提交
344 345
**错误码:**

346
以下错误码的详细介绍请参见[@ohos.reminderAgentManager(后台代理提醒)](../errorcodes/errorcode-reminderAgentManager.md)错误码。
廖康康 已提交
347

廖康康 已提交
348
| 错误码ID   | 错误信息 |
廖康康 已提交
349
| --------- | ------- |
廖康康 已提交
350
| 1700004    | The bundle name does not exist. |
廖康康 已提交
351

廖康康 已提交
352 353
**示例**

L
Leon 已提交
354
```ts
廖康康 已提交
355 356 357 358 359 360 361 362 363 364 365 366 367 368
try {
    reminderAgentManager.cancelAllReminders((err, data) =>{
        if (err) {
            console.log("callback err code:" + err.code + " message:" + err.message);
        } else {
            console.log("cancelAllReminders callback")
        }
    })
} catch (error) {
    console.log("cancelAllReminders code:" + error.code + " message:" + error.message);
};
```


廖康康 已提交
369
## reminderAgentManager.cancelAllReminders
廖康康 已提交
370

L
Leon 已提交
371 372 373
```ts
cancelAllReminders(): Promise<void>
```
廖康康 已提交
374 375 376

取消当前应用所有的提醒,使用Promise方式实现异步调用。

L
Leon 已提交
377
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
378 379 380 381 382

**返回值**

| 类型 | 说明 |
| -------- | -------- |
L
Leon 已提交
383
| Promise\<void\> | Promise类型异步回调。 |
廖康康 已提交
384

廖康康 已提交
385 386
**错误码:**

387
以下错误码的详细介绍请参见[@ohos.reminderAgentManager(后台代理提醒)](../errorcodes/errorcode-reminderAgentManager.md)错误码。
廖康康 已提交
388

廖康康 已提交
389
| 错误码ID   | 错误信息 |
廖康康 已提交
390
| --------- | ------- |
廖康康 已提交
391
| 1700004    | The bundle name does not exist. |
廖康康 已提交
392

廖康康 已提交
393 394
**示例**

L
Leon 已提交
395
```ts
廖康康 已提交
396 397 398 399 400 401 402 403 404 405 406 407
try {
    reminderAgentManager.cancelAllReminders().then(() => {
        console.log("cancelAllReminders promise")
    }).catch(err => {
        console.log("promise err code:" + err.code + " message:" + err.message);
    });
} catch (error) {
    console.log("cancelAllReminders code:" + error.code + " message:" + error.message);
};
```


廖康康 已提交
408
## reminderAgentManager.addNotificationSlot
廖康康 已提交
409

L
Leon 已提交
410 411 412
```ts
addNotificationSlot(slot: NotificationSlot, callback: AsyncCallback<void>): void
```
廖康康 已提交
413

L
Leon 已提交
414
添加一个NotificationSlot,使用回调的方式实现异步调用。
廖康康 已提交
415

L
Leon 已提交
416
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
417 418 419 420 421

**参数**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
L
Leon 已提交
422 423
| slot | [NotificationSlot](js-apis-notification.md#notificationslot) | 是 | notification\.slot实例,仅支持设置其type属性。 |
| callback | AsyncCallback\<void\> | 是 | 异步回调。 |
廖康康 已提交
424 425 426

**示例**

L
Leon 已提交
427
```ts
廖康康 已提交
428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446
import notification from '@ohos.notification'

let mySlot = {
    type: notification.SlotType.SOCIAL_COMMUNICATION
}
try {
    reminderAgentManager.addNotificationSlot(mySlot, (err, data) => {
        if (err) {
            console.log("callback err code:" + err.code + " message:" + err.message);
        } else {
            console.log("addNotificationSlot callback");
        }
    });
} catch (error) {
    console.log("addNotificationSlot code:" + error.code + " message:" + error.message);
};
```


廖康康 已提交
447
## reminderAgentManager.addNotificationSlot
廖康康 已提交
448

L
Leon 已提交
449 450 451
```ts
addNotificationSlot(slot: NotificationSlot): Promise<void>
```
廖康康 已提交
452 453 454

添加一个NotificationSlot,使用Promise方式实现异步调用。

L
Leon 已提交
455
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
456 457 458 459 460

**参数**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
L
Leon 已提交
461
| slot | [NotificationSlot](js-apis-notification.md#notificationslot) | 是 | notification\.slot实例,仅支持设置其type属性。 |
廖康康 已提交
462 463 464 465 466

**返回值**

| 类型 | 说明 |
| -------- | -------- |
L
Leon 已提交
467
| Promise\<void\> | Promise类型异步回调。 |
廖康康 已提交
468 469 470

**示例**

L
Leon 已提交
471
```ts
廖康康 已提交
472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488
import notification from '@ohos.notification'

let mySlot = {
    type: notification.SlotType.SOCIAL_COMMUNICATION
}
try {
    reminderAgentManager.addNotificationSlot(mySlot).then(() => {
        console.log("addNotificationSlot promise");
    }).catch(err => {
        console.log("promise err code:" + err.code + " message:" + err.message);
    });
} catch (error) {
    console.log("addNotificationSlot code:" + error.code + " message:" + error.message);
};
```


廖康康 已提交
489
## reminderAgentManager.removeNotificationSlot
廖康康 已提交
490

L
Leon 已提交
491 492 493
```ts
removeNotificationSlot(slotType: notification.SlotType, callback: AsyncCallback<void>): void
```
廖康康 已提交
494

L
Leon 已提交
495
删除目标NotificationSlot,使用回调的方式实现异步调用。
廖康康 已提交
496

L
Leon 已提交
497
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
498 499 500 501 502

**参数**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
L
Leon 已提交
503 504
| slotType | [notification.SlotType](js-apis-notification.md#slottype) | 是 | 目标notification\.slot的类型。 |
| callback | AsyncCallback\<void\> | 是 | 异步回调。 |
廖康康 已提交
505 506 507

**示例**

L
Leon 已提交
508
```ts
廖康康 已提交
509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524
import notification from '@ohos.notification'

try {
    reminderAgentManager.removeNotificationSlot(notification.SlotType.CONTENT_INFORMATION, (err, data) => {
        if (err) {
            console.log("callback err code:" + err.code + " message:" + err.message);
        } else {
            console.log("removeNotificationSlot callback");
        }
    });
} catch (error) {
    console.log("removeNotificationSlot code:" + error.code + " message:" + error.message);
};
```


廖康康 已提交
525
## reminderAgentManager.removeNotificationSlot
廖康康 已提交
526

L
Leon 已提交
527 528 529
```ts
removeNotificationSlot(slotType: notification.SlotType): Promise<void>
```
廖康康 已提交
530 531 532

删除目标NotificationSlot,使用Promise方式实现异步调用。

L
Leon 已提交
533
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
534 535 536 537 538

**参数**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
L
Leon 已提交
539
| slotType | [notification.SlotType](js-apis-notification.md#slottype) | 是 | 目标notification\.slot的类型。 |
廖康康 已提交
540 541 542 543 544

**返回值**

| 类型 | 说明 |
| -------- | -------- |
L
Leon 已提交
545
| Promise\<void\> | Promise类型异步回调。 |
廖康康 已提交
546 547 548

**示例**

L
Leon 已提交
549
```ts
廖康康 已提交
550 551 552 553 554 555 556 557 558 559 560 561 562
import notification from '@ohos.notification'

try {
    reminderAgentManager.removeNotificationSlot(notification.SlotType.CONTENT_INFORMATION).then(() => {
        console.log("removeNotificationSlot promise");
    }).catch(err => {
        console.log("promise err code:" + err.code + " message:" + err.message);
    });
} catch (error) {
    console.log("removeNotificationSlot code:" + error.code + " message:" + error.message);
};
```

廖康康 已提交
563
## ActionButtonType
廖康康 已提交
564 565 566

按钮的类型。

L
Leon 已提交
567
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
568

廖康康 已提交
569
| 名称 | 值 | 说明 |
廖康康 已提交
570 571 572 573 574
| -------- | -------- | -------- |
| ACTION_BUTTON_TYPE_CLOSE | 0 | 表示关闭提醒的按钮。 |
| ACTION_BUTTON_TYPE_SNOOZE | 1 | 表示延迟提醒的按钮。 |


廖康康 已提交
575
## ReminderType
廖康康 已提交
576 577 578

提醒的类型。

L
Leon 已提交
579
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
580

廖康康 已提交
581
| 名称 | 值 | 说明 |
廖康康 已提交
582 583 584 585 586 587
| -------- | -------- | -------- |
| REMINDER_TYPE_TIMER | 0 | 表示提醒类型:倒计时。 |
| REMINDER_TYPE_CALENDAR | 1 | 表示提醒类型:日历。 |
| REMINDER_TYPE_ALARM | 2 | 表示提醒类型:闹钟。 |


廖康康 已提交
588
## ActionButton
廖康康 已提交
589 590 591

用于设置弹出的提醒通知信息上显示的按钮类型和标题。

L
Leon 已提交
592
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
593

廖康康 已提交
594
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
595 596 597 598 599
| -------- | -------- | -------- | -------- |
| title | string | 是 | 按钮显示的标题。 |
| type | [ActionButtonType](#actionbuttontype) | 是 | 按钮的类型。 |


廖康康 已提交
600
## WantAgent
廖康康 已提交
601

L
Leon 已提交
602
点击提醒通知后跳转的目标`ability`信息。
廖康康 已提交
603

L
Leon 已提交
604
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
605

廖康康 已提交
606
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
607
| -------- | -------- | -------- | -------- |
608
| pkgName | string | 是 | 指明点击提醒通知栏后跳转的目标HAP名。 |
廖康康 已提交
609 610 611
| abilityName | string | 是 | 指明点击提醒通知栏后跳转的目标ability名称。 |


廖康康 已提交
612
## MaxScreenWantAgent
廖康康 已提交
613 614 615

全屏显示提醒到达时自动拉起的目标ability信息,该接口预留。

L
Leon 已提交
616
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
617

廖康康 已提交
618
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
619
| -------- | -------- | -------- | -------- |
620
| pkgName | string | 是 | 指明提醒到达时自动拉起的目标HAP名(如果设备在使用中,则只弹出通知横幅框)。 |
廖康康 已提交
621 622 623
| abilityName | string | 是 | 指明提醒到达时自动拉起的目标ability名(如果设备在使用中,则只弹出通知横幅框)。 |


廖康康 已提交
624
## ReminderRequest
廖康康 已提交
625 626 627

提醒实例对象,用于设置提醒类型、响铃时长等具体信息。

L
Leon 已提交
628
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
629

廖康康 已提交
630
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
631
| -------- | -------- | -------- | -------- |
廖康康 已提交
632 633 634 635
| reminderType | [ReminderType](#remindertype) | 是 | 指明提醒类型。 |
| actionButton | [ActionButton](#actionbutton) | 否 | 弹出的提醒通知栏中显示的按钮(参数可选,支持0/1/2个按钮)。 |
| wantAgent | [WantAgent](#wantagent) | 否 | 点击通知后需要跳转的目标ability信息。 |
| maxScreenWantAgent | [MaxScreenWantAgent](#maxscreenwantagent) | 否 | 提醒到达时跳转的目标包。如果设备正在使用中,则弹出一个通知框。 |
廖康康 已提交
636 637 638
| ringDuration | number | 否 | 指明响铃时长(单位:秒),默认1秒。 |
| snoozeTimes | number | 否 | 指明延迟提醒次数,默认0次。 |
| timeInterval | number | 否 | 执行延迟提醒间隔(单位:秒),默认0秒。 |
廖康康 已提交
639 640 641 642 643 644 645 646
| title | string | 否 | 指明提醒标题。 |
| content | string | 否 | 指明提醒内容。 |
| expiredContent | string | 否 | 指明提醒过期后需要显示的内容。 |
| snoozeContent | string | 否 | 指明延迟提醒时需要显示的内容。 |
| notificationId | number | 否 | 指明提醒使用的通知的id号,相同id号的提醒会覆盖。 |
| slotType | [notification.SlotType](js-apis-notification.md#slottype) | 否 | 指明提醒的slot类型。 |


廖康康 已提交
647
## ReminderRequestCalendar
廖康康 已提交
648 649 650 651 652

ReminderRequestCalendar extends ReminderRequest

日历实例对象,用于设置提醒的时间。

L
Leon 已提交
653
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
654

廖康康 已提交
655
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
656 657
| -------- | -------- | -------- | -------- |
| dateTime | [LocalDateTime](#localdatetime) | 是 | 指明提醒的目标时间。 |
L
Leon 已提交
658 659
| repeatMonths | Array\<number\> | 否 | 指明重复提醒的月份。 |
| repeatDays | Array\<number\> | 否 | 指明重复提醒的日期。 |
廖康康 已提交
660 661


廖康康 已提交
662
## ReminderRequestAlarm
廖康康 已提交
663 664 665 666 667

ReminderRequestAlarm extends ReminderRequest

闹钟实例对象,用于设置提醒的时间。

L
Leon 已提交
668
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
669

廖康康 已提交
670
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
671 672 673
| -------- | -------- | -------- | -------- |
| hour | number | 是 | 指明提醒的目标时刻。 |
| minute | number | 是 | 指明提醒的目标分钟。 |
L
Leon 已提交
674
| daysOfWeek | Array\<number\> | 否 | 指明每周哪几天需要重复提醒。范围为周一到周末,对应数字为1到7。 |
廖康康 已提交
675 676


廖康康 已提交
677
## ReminderRequestTimer
廖康康 已提交
678 679 680 681 682

ReminderRequestTimer extends ReminderRequest

倒计时实例对象,用于设置提醒的时间。

L
Leon 已提交
683
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
684

廖康康 已提交
685
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
686 687 688 689
| -------- | -------- | -------- | -------- |
| triggerTimeInSeconds | number | 是 | 指明倒计时的秒数。 |


廖康康 已提交
690
## LocalDateTime
廖康康 已提交
691 692 693

用于日历类提醒设置时指定时间信息。

L
Leon 已提交
694
**系统能力**`SystemCapability.Notification.ReminderAgent`
廖康康 已提交
695

廖康康 已提交
696
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
697 698
| -------- | -------- | -------- | -------- |
| year | number | 是 | 年 |
699 700 701 702 703
| month | number | 是 | 月,取值范围是[1, 12]。 |
| day | number | 是 | 日,取值范围是[1, 31]。 |
| hour | number | 是 | 时,取值范围是[0, 23]。 |
| minute | number | 是 | 分,取值范围是[0, 59]。 |
| second | number | 否 | 秒,取值范围是[0, 59]。 |