HarmonyOS请求通知授权

148 阅读1分钟

应用需要获取用户授权才能发送通知。在通知发布前调用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) {
          // 打开设置页
        }
      })
  }
}