@capacitor/local-notifications
Local Notifications API 提供在本地调度设备通知的方式(即无需服务器发送推送通知)。
安装
npm install @capacitor/local-notifications@latest-6
npx cap sync
Android
Android 13 需要权限检查才能发送通知。您需要相应地调用 checkPermissions() 和 requestPermissions()。
在 Android 12 及更早版本上,不会显示提示,直接返回已授权。
从 Android 12 开始,除非在 AndroidManifest.xml 中添加此权限,否则定时通知不会精确执行:
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
请注意,即使存在此权限,用户仍然可以从应用设置中禁用精确通知。使用 checkExactNotificationSetting() 来检查该设置的值。如果用户禁用了此设置,应用将重新启动,并且任何使用精确闹钟调度的通知都将被删除。如果您的应用依赖于精确闹钟,请务必在应用启动时检查此设置(例如,在 App.appStateChange 中),以便提供回退或替代行为。
在 Android 14 上,有一个名为 USE_EXACT_ALARM 的新权限。使用此权限可以在无需请求用户权限的情况下使用精确闹钟。仅当精确闹钟的使用对应用功能至关重要时才应使用此权限。在此阅读有关使用此权限的影响的更多信息 here。
从 Android 15 开始,用户可 以在私人空间中安装应用。用户可以随时锁定其私人空间,这意味着推送通知在用户解锁之前不会显示。
无法检测应用是否安装在私人空间中。因此,如果您的应用显示任何关键通知,请告知您的用户避免在私人空间中安装该应用。
有关您的应用与私人空间相关的行为变更的更多信息,请参阅 Android 文档。
配置
在 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 |