HarmonyOS 请求通知授权,方法返回有误

请求通知授权,可通过requestEnableNotification的错误码判断用户是否授权。

notificationManager.isNotificationEnabled() 

但是该方法在APP未授权时返回也是true,导致后续操作失败。

HarmonyOS
2024-12-23 16:06:12
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

请参考以下示例:

import notificationManager from '@ohos.notificationManager';
import Base from '@ohos.base';
import hilog from '@ohos.hilog';
import common from '@ohos.app.ability.common';
const DOMAIN_NUMBER: number = 0xFF00;
@Entry
@Component
struct Page {
  build() {
    Column() {
      Text('点击测试')
        .padding(30)
        .onClick(()=>{
          this.testNotification()
        })
    }
  }

  testNotification(){
    let context = getContext(this) as common.UIAbilityContext;
    notificationManager.isNotificationEnabled().then((data: boolean) => {
      console.info("isNotificationEnabled success, data: " + JSON.stringify(data));
      if(!data){
        notificationManager.requestEnableNotification(context).then(() => {
          hilog.info(DOMAIN_NUMBER, TAG, `[ANS] requestEnableNotification success`);
        }).catch((err : Base.BusinessError) => {
          if(1600004 == err.code){
            console.info(`[ANS] requestEnableNotification refused`);
          } else {
            console.error(`[ANS] requestEnableNotification failed, code is ${err.code}, message is ${err.message}`);
          }
        });
      }
    }).catch((err : Base.BusinessError) => {
      console.error(`isNotificationEnabled fail: ${JSON.stringify(err)}`);
    });
  }
}

指导文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/notification-enable-V5

分享
微博
QQ
微信
回复
2024-12-23 20:10:59
相关问题
HarmonyOS 通知授权弹框无法弹出 -
481浏览 • 1回复 待解决
如何向用户请求授权广告跟踪权限
666浏览 • 1回复 待解决
HarmonyOS http请求返回2300007
1295浏览 • 1回复 待解决
HarmonyOS 网络请求返回的JSON
567浏览 • 2回复 待解决
HarmonyOS 跳转到设置->通知管理的方法
359浏览 • 1回复 待解决
通知栏点击事件监听的方法
814浏览 • 1回复 待解决
HarmonyOS 关于http请求返回结果
507浏览 • 1回复 待解决
华为事件通知接口返回10008错误码
9820浏览 • 2回复 待解决
HarmonyOS rcp网络请求返回数据为null
524浏览 • 1回复 待解决
http请求支持patch方法
2456浏览 • 1回复 待解决