js-apis-reminderAgentManager.md 24.3 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

21
publishReminder(reminderReq: ReminderRequest, callback: AsyncCallback\<number>): void
廖康康 已提交
22

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

25
**需要权限**: ohos.permission.PUBLISH_AGENT_REMINDER
廖康康 已提交
26

27
**系统能力**: SystemCapability.Notification.ReminderAgent
廖康康 已提交
28 29 30 31 32 33

**参数**

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

廖康康 已提交
36 37
**错误码:**

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

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

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

廖康康 已提交
52 53 54 55 56 57 58 59 60 61 62 63 64 65
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);
};
```


廖康康 已提交
66
## reminderAgentManager.publishReminder
廖康康 已提交
67

68
publishReminder(reminderReq: ReminderRequest): Promise\<number>
廖康康 已提交
69

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

72
**需要权限**: ohos.permission.PUBLISH_AGENT_REMINDER
廖康康 已提交
73

74
**系统能力**: SystemCapability.Notification.ReminderAgent
廖康康 已提交
75 76 77 78 79 80 81 82 83

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

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

廖康康 已提交
86 87
**错误码:**

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

廖康康 已提交
90
| 错误码ID   | 错误信息 |
廖康康 已提交
91
| --------- | ------- |
廖康康 已提交
92
| 1700001    | Notification is not enabled. |
廖康康 已提交
93 94
| 1700002    | The number of reminders exceeds the limit. |

廖康康 已提交
95
**示例**
L
Leon 已提交
96
```ts
廖康康 已提交
97 98 99 100
let timer = {
    reminderType: reminderAgentManager.ReminderType.REMINDER_TYPE_TIMER,
    triggerTimeInSeconds: 10
}
L
Leon 已提交
101

廖康康 已提交
102 103 104 105 106 107 108 109 110 111 112 113
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);
};
```


廖康康 已提交
114
## reminderAgentManager.cancelReminder
廖康康 已提交
115

116
cancelReminder(reminderId: number, callback: AsyncCallback\<void>): void
廖康康 已提交
117

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

120
**系统能力**: SystemCapability.Notification.ReminderAgent
廖康康 已提交
121 122 123 124 125

**参数**

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

廖康康 已提交
129 130
**错误码:**

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

廖康康 已提交
133
| 错误码ID   | 错误信息 |
廖康康 已提交
134 135
| --------- | ------- |
| 1700003    | The reminder does not exist. |
廖康康 已提交
136
| 1700004    | The bundle name does not exist. |
廖康康 已提交
137

廖康康 已提交
138 139
**示例**

L
Leon 已提交
140
```ts
廖康康 已提交
141 142 143 144 145 146 147 148 149 150 151 152 153 154
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);
};
```


廖康康 已提交
155
## reminderAgentManager.cancelReminder
廖康康 已提交
156

157
cancelReminder(reminderId: number): Promise\<void>
廖康康 已提交
158

159
取消指定id的提醒,使用Promise方式实现异步调用。
廖康康 已提交
160

161
**系统能力**: SystemCapability.Notification.ReminderAgent
廖康康 已提交
162 163 164 165 166

**参数**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
L
Leon 已提交
167
| reminderId | number | 是 | 目标提醒的id号。 |
廖康康 已提交
168 169 170 171 172

**返回值**

| 类型 | 说明 |
| -------- | -------- |
173
| PPromise\<void>	 | Promise类型异步回调。 |
廖康康 已提交
174

廖康康 已提交
175 176
**错误码:**

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

廖康康 已提交
179
| 错误码ID   | 错误信息 |
廖康康 已提交
180 181
| --------- | ------- |
| 1700003    | The reminder does not exist. |
廖康康 已提交
182
| 1700004    | The bundle name does not exist. |
廖康康 已提交
183

廖康康 已提交
184 185
**示例**

L
Leon 已提交
186
```ts
廖康康 已提交
187 188 189 190 191 192 193 194 195 196 197
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);
};
```

廖康康 已提交
198
## reminderAgentManager.getValidReminders
廖康康 已提交
199

200
getValidReminders(callback: AsyncCallback<Array\<ReminderRequest>>): void
L
Leon 已提交
201

廖康康 已提交
202

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

205
**系统能力**: SystemCapability.Notification.ReminderAgent
廖康康 已提交
206 207 208 209 210

**参数**

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

廖康康 已提交
213 214
**错误码:**

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

廖康康 已提交
217
| 错误码ID   | 错误信息 |
廖康康 已提交
218
| --------- | ------- |
廖康康 已提交
219
| 1700004    | The bundle name does not exist. |
廖康康 已提交
220

廖康康 已提交
221 222
**示例**

L
Leon 已提交
223
```ts
廖康康 已提交
224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257
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);
};
```

廖康康 已提交
258
## reminderAgentManager.getValidReminders
廖康康 已提交
259

260
getValidReminders(): Promise\<Array\<ReminderRequest>>
廖康康 已提交
261 262 263

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

264
**系统能力**: SystemCapability.Notification.ReminderAgent
廖康康 已提交
265 266 267 268 269

**返回值**

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

廖康康 已提交
272 273
**错误码:**

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

廖康康 已提交
276
| 错误码ID   | 错误信息 |
廖康康 已提交
277
| --------- | ------- |
廖康康 已提交
278
| 1700004    | The bundle name does not exist. |
廖康康 已提交
279

廖康康 已提交
280 281
**示例**

L
Leon 已提交
282
```ts
廖康康 已提交
283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315
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);
};
```


廖康康 已提交
316
## reminderAgentManager.cancelAllReminders
廖康康 已提交
317

318
cancelAllReminders(callback: AsyncCallback\<void>): void
廖康康 已提交
319

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

322
**系统能力**: SystemCapability.Notification.ReminderAgent
廖康康 已提交
323 324 325 326 327

**参数**

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

廖康康 已提交
330 331
**错误码:**

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

廖康康 已提交
334
| 错误码ID   | 错误信息 |
廖康康 已提交
335
| --------- | ------- |
廖康康 已提交
336
| 1700004    | The bundle name does not exist. |
廖康康 已提交
337

廖康康 已提交
338 339
**示例**

L
Leon 已提交
340
```ts
廖康康 已提交
341 342 343 344 345 346 347 348 349 350 351 352 353 354
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);
};
```


廖康康 已提交
355
## reminderAgentManager.cancelAllReminders
廖康康 已提交
356

357
cancelAllReminders(): Promise\<void>
廖康康 已提交
358 359 360

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

361
**系统能力**: SystemCapability.Notification.ReminderAgent
廖康康 已提交
362 363 364 365 366

**返回值**

| 类型 | 说明 |
| -------- | -------- |
367
| Promise\<void> | Promise类型异步回调。 |
廖康康 已提交
368

廖康康 已提交
369 370
**错误码:**

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

廖康康 已提交
373
| 错误码ID   | 错误信息 |
廖康康 已提交
374
| --------- | ------- |
廖康康 已提交
375
| 1700004    | The bundle name does not exist. |
廖康康 已提交
376

廖康康 已提交
377 378
**示例**

L
Leon 已提交
379
```ts
廖康康 已提交
380 381 382 383 384 385 386 387 388 389 390 391
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);
};
```


廖康康 已提交
392
## reminderAgentManager.addNotificationSlot
廖康康 已提交
393

394
addNotificationSlot(slot: NotificationSlot, callback: AsyncCallback\<void>): void
廖康康 已提交
395

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

398
**系统能力**: SystemCapability.Notification.ReminderAgent
廖康康 已提交
399 400 401 402 403

**参数**

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

**示例**

L
Leon 已提交
409
```ts
廖康康 已提交
410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428
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);
};
```


廖康康 已提交
429
## reminderAgentManager.addNotificationSlot
廖康康 已提交
430

431
addNotificationSlot(slot: NotificationSlot): Promise\<void>
廖康康 已提交
432 433 434

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

435
**系统能力**: SystemCapability.Notification.ReminderAgent
廖康康 已提交
436 437 438 439 440

**参数**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
L
Leon 已提交
441
| slot | [NotificationSlot](js-apis-notification.md#notificationslot) | 是 | notification\.slot实例,仅支持设置其type属性。 |
廖康康 已提交
442 443 444 445 446

**返回值**

| 类型 | 说明 |
| -------- | -------- |
447
| Promise\<void> | Promise类型异步回调。 |
廖康康 已提交
448 449 450

**示例**

L
Leon 已提交
451
```ts
廖康康 已提交
452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468
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);
};
```


廖康康 已提交
469
## reminderAgentManager.removeNotificationSlot
廖康康 已提交
470

471
removeNotificationSlot(slotType: notification.SlotType, callback: AsyncCallback\<void>): void
廖康康 已提交
472

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

475
**系统能力**: SystemCapability.Notification.ReminderAgent
廖康康 已提交
476 477 478 479 480

**参数**

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

**示例**

L
Leon 已提交
486
```ts
廖康康 已提交
487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502
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);
};
```


廖康康 已提交
503
## reminderAgentManager.removeNotificationSlot
廖康康 已提交
504

505
removeNotificationSlot(slotType: notification.SlotType): Promise\<void>
廖康康 已提交
506 507 508

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

509
**系统能力**: SystemCapability.Notification.ReminderAgent
廖康康 已提交
510 511 512 513 514

**参数**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
L
Leon 已提交
515
| slotType | [notification.SlotType](js-apis-notification.md#slottype) | 是 | 目标notification\.slot的类型。 |
廖康康 已提交
516 517 518 519 520

**返回值**

| 类型 | 说明 |
| -------- | -------- |
521
| Promise\<void> | Promise类型异步回调。 |
廖康康 已提交
522 523 524

**示例**

L
Leon 已提交
525
```ts
廖康康 已提交
526 527 528 529 530 531 532 533 534 535 536 537 538
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);
};
```

廖康康 已提交
539
## ActionButtonType
廖康康 已提交
540 541 542

按钮的类型。

543
**系统能力**:SystemCapability.Notification.ReminderAgent
544

廖康康 已提交
545
| 名称 | 值 | 说明 |
廖康康 已提交
546 547 548
| -------- | -------- | -------- |
| ACTION_BUTTON_TYPE_CLOSE | 0 | 表示关闭提醒的按钮。 |
| ACTION_BUTTON_TYPE_SNOOZE | 1 | 表示延迟提醒的按钮。 |
549
| ACTION_BUTTON_TYPE_CUSTOM<sup>10+</sup>  | 2 | 表示自定义的按钮。<br>-**系统接口**: 系统接口,三方应用不支持调用。 |
廖康康 已提交
550 551


廖康康 已提交
552
## ReminderType
廖康康 已提交
553 554 555

提醒的类型。

556
**系统能力**:SystemCapability.Notification.ReminderAgent
廖康康 已提交
557

廖康康 已提交
558
| 名称 | 值 | 说明 |
廖康康 已提交
559 560 561 562 563 564
| -------- | -------- | -------- |
| REMINDER_TYPE_TIMER | 0 | 表示提醒类型:倒计时。 |
| REMINDER_TYPE_CALENDAR | 1 | 表示提醒类型:日历。 |
| REMINDER_TYPE_ALARM | 2 | 表示提醒类型:闹钟。 |


廖康康 已提交
565
## ActionButton
廖康康 已提交
566 567 568

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

569

570
**系统能力**:SystemCapability.Notification.ReminderAgent
廖康康 已提交
571

廖康康 已提交
572
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
573 574 575
| -------- | -------- | -------- | -------- |
| title | string | 是 | 按钮显示的标题。 |
| type | [ActionButtonType](#actionbuttontype) | 是 | 按钮的类型。 |
576
| wantAgent<sup>10+</sup> | [WantAgent](#wantagent) | 否 | 点击按钮跳转的ability信息。<br>-**系统接口**: 系统接口,三方应用不支持调用。 |
廖康康 已提交
577 578


廖康康 已提交
579
## WantAgent
廖康康 已提交
580

廖康康 已提交
581
跳转目标的ability信息。
廖康康 已提交
582

583
**系统能力**:SystemCapability.Notification.ReminderAgent
廖康康 已提交
584

585

廖康康 已提交
586
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
587
| -------- | -------- | -------- | -------- |
廖康康 已提交
588 589
| pkgName | string | 是 | 指明跳转的目标包名。 |
| abilityName | string | 是 | 指明跳转的目标ability名称。 |
590
| uri<sup>10+</sup> | string | 否 | 指明跳转目标的uri信息。<br>-**系统接口**: 系统接口,三方应用不支持调用。 |
廖康康 已提交
591 592


廖康康 已提交
593
## MaxScreenWantAgent
廖康康 已提交
594 595 596

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

597
**系统能力**:SystemCapability.Notification.ReminderAgent
廖康康 已提交
598

廖康康 已提交
599
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
600
| -------- | -------- | -------- | -------- |
廖康康 已提交
601
| pkgName | string | 是 | 指明提醒到达时自动拉起的目标包名(如果设备在使用中,则只弹出通知横幅框)。 |
廖康康 已提交
602 603 604
| abilityName | string | 是 | 指明提醒到达时自动拉起的目标ability名(如果设备在使用中,则只弹出通知横幅框)。 |


廖康康 已提交
605
## ReminderRequest
廖康康 已提交
606 607 608

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

609
**系统能力**:SystemCapability.Notification.ReminderAgent
廖康康 已提交
610

廖康康 已提交
611
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
612
| -------- | -------- | -------- | -------- |
廖康康 已提交
613
| reminderType | [ReminderType](#remindertype) | 是 | 指明提醒类型。 |
614
| actionButton<sup>10+</sup> | [ActionButton](#actionbutton) | 否 | 弹出的提醒通知栏中显示的按钮(参数可选。普通应用:最多支持两个按钮,系统应用:API9最多支持两个按钮,API10及以后最多支持三个按钮。)。 |
廖康康 已提交
615 616
| wantAgent | [WantAgent](#wantagent) | 否 | 点击通知后需要跳转的目标ability信息。 |
| maxScreenWantAgent | [MaxScreenWantAgent](#maxscreenwantagent) | 否 | 提醒到达时跳转的目标包。如果设备正在使用中,则弹出一个通知框。 |
廖康康 已提交
617 618
| ringDuration | number | 否 | 指明响铃时长(单位:秒),默认1秒。 |
| snoozeTimes | number | 否 | 指明延迟提醒次数,默认0次。 |
廖康康 已提交
619
| timeInterval | number | 否 | 执行延迟提醒间隔(单位:秒),最少5分钟。 |
廖康康 已提交
620 621 622 623 624
| title | string | 否 | 指明提醒标题。 |
| content | string | 否 | 指明提醒内容。 |
| expiredContent | string | 否 | 指明提醒过期后需要显示的内容。 |
| snoozeContent | string | 否 | 指明延迟提醒时需要显示的内容。 |
| notificationId | number | 否 | 指明提醒使用的通知的id号,相同id号的提醒会覆盖。 |
廖康康 已提交
625 626 627
| slotType | [notification.SlotType](js-apis-notificationManager.md#slottype) | 否 | 指明提醒的slot类型。 |
| tapDismissed<sup>10+</sup> | boolean | 否 | 通知是否自动清除,同[NotificationRequest.tapDismissed](js-apis-inner-notification-notificationRequest.md#notificationrequest)。 |
| autoDeletedTime<sup>10+</sup> | number | 否 | 自动清除的时间,同[NotificationRequest.autoDeletedTime](js-apis-inner-notification-notificationRequest.md#notificationrequest)。 |
廖康康 已提交
628 629


廖康康 已提交
630
## ReminderRequestCalendar
廖康康 已提交
631 632 633 634 635

ReminderRequestCalendar extends ReminderRequest

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

636
**系统能力**:SystemCapability.Notification.ReminderAgent
廖康康 已提交
637

廖康康 已提交
638
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
639 640
| -------- | -------- | -------- | -------- |
| dateTime | [LocalDateTime](#localdatetime) | 是 | 指明提醒的目标时间。 |
641 642
| repeatMonths | Array\<number> | 否 | 指明重复提醒的月份。 |
| repeatDays | Array\<number> | 否 | 指明重复提醒的日期。 |
廖康康 已提交
643 644


廖康康 已提交
645
## ReminderRequestAlarm
廖康康 已提交
646 647 648 649 650

ReminderRequestAlarm extends ReminderRequest

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

651
**系统能力**:SystemCapability.Notification.ReminderAgent
廖康康 已提交
652

廖康康 已提交
653
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
654 655 656
| -------- | -------- | -------- | -------- |
| hour | number | 是 | 指明提醒的目标时刻。 |
| minute | number | 是 | 指明提醒的目标分钟。 |
657
| daysOfWeek | Array\<number> | 否 | 指明每周哪几天需要重复提醒。范围为周一到周末,对应数字为1到7。 |
廖康康 已提交
658 659


廖康康 已提交
660
## ReminderRequestTimer
廖康康 已提交
661 662 663 664 665

ReminderRequestTimer extends ReminderRequest

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

666
**系统能力**:SystemCapability.Notification.ReminderAgent
廖康康 已提交
667

廖康康 已提交
668
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
669 670 671 672
| -------- | -------- | -------- | -------- |
| triggerTimeInSeconds | number | 是 | 指明倒计时的秒数。 |


廖康康 已提交
673
## LocalDateTime
廖康康 已提交
674 675 676

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

677
**系统能力**:SystemCapability.Notification.ReminderAgent
廖康康 已提交
678

廖康康 已提交
679
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
680 681
| -------- | -------- | -------- | -------- |
| year | number | 是 | 年 |
682 683 684 685 686
| month | number | 是 | 月,取值范围是[1, 12]。 |
| day | number | 是 | 日,取值范围是[1, 31]。 |
| hour | number | 是 | 时,取值范围是[0, 23]。 |
| minute | number | 是 | 分,取值范围是[0, 59]。 |
| second | number | 否 | 秒,取值范围是[0, 59]。 |