@capacitor/local-notifications
本地通知 API 提供了一种在本地调度设备通知的方式(即无需服务器发送推送通知)。
安装
npm install @capacitor/local-notifications
npx cap sync
Android
从 Android 12 开始,除非将此权限添加到您的 AndroidManifest.xml 中,否则计划的通知将不会精确执行:
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
请注意,即使拥有此权限,用户仍然可以从应用设置中禁用精确通知。
配置
在 Android 上,本地通知可以通过以下选项进行配置:
| 属性 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
smallIcon | string | 设置通知的状态栏默认图标。图标应放置在应用的 res/drawable 文件夹中。此选项的值应为 drawable 资源 ID,即不带扩展名的文件名。仅适用于 Android。 | 1.0.0 |
iconColor | string | 设置通知状态栏图标的默认颜色。仅适用于 Android。 | 1.0.0 |
sound | string | 设置通知的默认通知声音。在 Android 26+ 上,它会设置默认渠道的声音,除非卸载应用,否则无法更改。如果未找到音频文件,在 Android 21-25 上将播放默认系统声音,在 Android 26+ 上将没 有声音。仅适用于 Android。 | 1.0.0 |
示例
在 capacitor.config.json 中:
{
"plugins": {
"LocalNotifications": {
"smallIcon": "ic_stat_icon_config_sample",
"iconColor": "#488AFF",
"sound": "beep.wav"
}
}
}
在 capacitor.config.ts 中:
/// <reference types="@capacitor/local-notifications" />
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
LocalNotifications: {
smallIcon: "ic_stat_icon_config_sample",
iconColor: "#488AFF",
sound: "beep.wav",
},
},
};
export default config;
Doze(休眠模式)
如果设备已进入 Doze(休眠)模式,您的应用可能会受到功能限制。如果您需要在 Doze 期间也触发通知,请使用 allowWhileIdle: true 来调度通知。请谨慎使用 allowWhileIdle,因为这些通知每应用每 9 分钟只能触发一次。
API
schedule(...)getPending()registerActionTypes(...)cancel(...)areEnabled()getDeliveredNotifications()removeDeliveredNotifications(...)removeAllDeliveredNotifications()createChannel(...)deleteChannel(...)listChannels()checkPermissions()requestPermissions()addListener('localNotificationReceived', ...)addListener('localNotificationActionPerformed', ...)removeAllListeners()- 接口
- 类型别名
- 枚举