应用需要获取用户授权才能发送通知。在通知发布前调用requestEnableNotification()方法,弹窗让用户选择是否允许发送通知,后续再次调用requestEnableNotification()方法时,则不再弹窗。
import { notificationManager } from '@kit.NotificationKit'
@State isNotificationEnabled: boolean = false
// 更新授权状态
async updatePermissionState() {
// 是否开启通知
this.isNotificationEnabled = await notificationManager.isNotificationEnabled()
}
build(){
if (this.isNotificationEnabled) {
Text('已开启')
.fontSize(14)
.fontColor($r('app.color.brand'))
} else {
Toggle({ type: ToggleType.Switch, isOn: this.isNotificationEnabled })
.onChange(async () => {
try {
// 授权弹窗
await notificationManager.requestEnableNotification()
} catch (error) {
// 打开设置页
}
})
}
}