js-apis-reminderAgentManager.md 24.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
```ts
22
publishReminder(reminderReq: ReminderRequest, callback: AsyncCallback\<number>): void
L
Leon 已提交
23
```
廖康康 已提交
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
```ts
71
publishReminder(reminderReq: ReminderRequest): Promise\<number>
L
Leon 已提交
72
```
廖康康 已提交
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
```ts
121
cancelReminder(reminderId: number, callback: AsyncCallback\<void>): void
L
Leon 已提交
122
```
廖康康 已提交
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
```ts
164
cancelReminder(reminderId: number): Promise\<void>
L
Leon 已提交
165
```
廖康康 已提交
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
```ts
209
getValidReminders(callback: AsyncCallback\<Array\<ReminderRequest>>): void
L
Leon 已提交
210 211

```
廖康康 已提交
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
```ts
271
getValidReminders(): Promise\<Array\<ReminderRequest>>
L
Leon 已提交
272
```
廖康康 已提交
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
```ts
331
cancelAllReminders(callback: AsyncCallback\<void>): void
L
Leon 已提交
332
```
廖康康 已提交
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
```ts
372
cancelAllReminders(): Promise\<void>
L
Leon 已提交
373
```
廖康康 已提交
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
```ts
411
addNotificationSlot(slot: NotificationSlot, callback: AsyncCallback\<void>): void
L
Leon 已提交
412
```
廖康康 已提交
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
```ts
450
addNotificationSlot(slot: NotificationSlot): Promise\<void>
L
Leon 已提交
451
```
廖康康 已提交
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
```ts
492
removeNotificationSlot(slotType: notification.SlotType, callback: AsyncCallback\<void>): void
L
Leon 已提交
493
```
廖康康 已提交
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
```ts
528
removeNotificationSlot(slotType: notification.SlotType): Promise\<void>
L
Leon 已提交
529
```
廖康康 已提交
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
**系统接口**: ACTION_BUTTON_TYPE_CUSTOM为系统接口,三方应用不支持调用。

廖康康 已提交
571
| 名称 | 值 | 说明 |
廖康康 已提交
572 573 574
| -------- | -------- | -------- |
| ACTION_BUTTON_TYPE_CLOSE | 0 | 表示关闭提醒的按钮。 |
| ACTION_BUTTON_TYPE_SNOOZE | 1 | 表示延迟提醒的按钮。 |
廖康康 已提交
575
| ACTION_BUTTON_TYPE_CUSTOM<sup>10+</sup>  | 2 | 表示自定义的按钮。(系统接口) |
廖康康 已提交
576 577


廖康康 已提交
578
## ReminderType
廖康康 已提交
579 580 581

提醒的类型。

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

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


廖康康 已提交
591
## ActionButton
廖康康 已提交
592 593 594

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

595 596
**系统接口**: wantAgent为系统接口,三方应用不支持调用。

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

廖康康 已提交
599
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
600 601 602
| -------- | -------- | -------- | -------- |
| title | string | 是 | 按钮显示的标题。 |
| type | [ActionButtonType](#actionbuttontype) | 是 | 按钮的类型。 |
廖康康 已提交
603
| wantAgent<sup>10+</sup> | [WantAgent](#wantagent) | 否 | 点击按钮跳转的ability信息。(系统接口) |
廖康康 已提交
604 605


廖康康 已提交
606
## WantAgent
廖康康 已提交
607

廖康康 已提交
608
跳转目标的ability信息。
廖康康 已提交
609

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

612 613
**系统接口**: uri为系统接口,三方应用不支持调用。

廖康康 已提交
614
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
615
| -------- | -------- | -------- | -------- |
廖康康 已提交
616 617
| pkgName | string | 是 | 指明跳转的目标包名。 |
| abilityName | string | 是 | 指明跳转的目标ability名称。 |
618
| uri<sup>10+</sup> | string | 否 | 指明跳转目标的uri信息。(系统接口) |
廖康康 已提交
619 620


廖康康 已提交
621
## MaxScreenWantAgent
廖康康 已提交
622 623 624

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

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

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


廖康康 已提交
633
## ReminderRequest
廖康康 已提交
634 635 636

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

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

廖康康 已提交
639
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
640
| -------- | -------- | -------- | -------- |
廖康康 已提交
641
| reminderType | [ReminderType](#remindertype) | 是 | 指明提醒类型。 |
642
| actionButton<sup>10+</sup> | [ActionButton](#actionbutton) | 否 | 弹出的提醒通知栏中显示的按钮(参数可选。普通应用:最多支持两个按钮,系统应用:API9最多支持两个按钮,API10及以后最多支持三个按钮。)。 |
廖康康 已提交
643 644
| wantAgent | [WantAgent](#wantagent) | 否 | 点击通知后需要跳转的目标ability信息。 |
| maxScreenWantAgent | [MaxScreenWantAgent](#maxscreenwantagent) | 否 | 提醒到达时跳转的目标包。如果设备正在使用中,则弹出一个通知框。 |
廖康康 已提交
645 646
| ringDuration | number | 否 | 指明响铃时长(单位:秒),默认1秒。 |
| snoozeTimes | number | 否 | 指明延迟提醒次数,默认0次。 |
廖康康 已提交
647
| timeInterval | number | 否 | 执行延迟提醒间隔(单位:秒),最少5分钟。 |
廖康康 已提交
648 649 650 651 652
| title | string | 否 | 指明提醒标题。 |
| content | string | 否 | 指明提醒内容。 |
| expiredContent | string | 否 | 指明提醒过期后需要显示的内容。 |
| snoozeContent | string | 否 | 指明延迟提醒时需要显示的内容。 |
| notificationId | number | 否 | 指明提醒使用的通知的id号,相同id号的提醒会覆盖。 |
廖康康 已提交
653 654 655
| 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)。 |
廖康康 已提交
656 657


廖康康 已提交
658
## ReminderRequestCalendar
廖康康 已提交
659 660 661 662 663

ReminderRequestCalendar extends ReminderRequest

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

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

廖康康 已提交
666
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
667 668
| -------- | -------- | -------- | -------- |
| dateTime | [LocalDateTime](#localdatetime) | 是 | 指明提醒的目标时间。 |
L
Leon 已提交
669 670
| repeatMonths | Array\<number\> | 否 | 指明重复提醒的月份。 |
| repeatDays | Array\<number\> | 否 | 指明重复提醒的日期。 |
廖康康 已提交
671 672


廖康康 已提交
673
## ReminderRequestAlarm
廖康康 已提交
674 675 676 677 678

ReminderRequestAlarm extends ReminderRequest

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

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

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


廖康康 已提交
688
## ReminderRequestTimer
廖康康 已提交
689 690 691 692 693

ReminderRequestTimer extends ReminderRequest

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

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

廖康康 已提交
696
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
697 698 699 700
| -------- | -------- | -------- | -------- |
| triggerTimeInSeconds | number | 是 | 指明倒计时的秒数。 |


廖康康 已提交
701
## LocalDateTime
廖康康 已提交
702 703 704

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

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

廖康康 已提交
707
| 名称 | 类型 | 必填 | 说明 |
廖康康 已提交
708 709
| -------- | -------- | -------- | -------- |
| year | number | 是 | 年 |
710 711 712 713 714
| month | number | 是 | 月,取值范围是[1, 12]。 |
| day | number | 是 | 日,取值范围是[1, 31]。 |
| hour | number | 是 | 时,取值范围是[0, 23]。 |
| minute | number | 是 | 分,取值范围是[0, 59]。 |
| second | number | 否 | 秒,取值范围是[0, 59]。 |