HarmonyOS鸿蒙Next中每次进入app都会校验申请推送通知的权限,校验的时候会跳转到设置页,而不是弹起授权弹窗

HarmonyOS鸿蒙Next中每次进入app都会校验申请推送通知的权限,校验的时候会跳转到设置页,而不是弹起授权弹窗

static async authorizeNotification(callBack?: (grant: boolean) => void): Promise<boolean> {
  let isEnabled = await NotificationUtil.isNotificationEnabled(); //查询通知是否授权
  if (!isEnabled) { //未授权,拉起授权
    try {
      let context = getContext() as common.UIAbilityContext;
      await notificationManager.requestEnableNotification(context);
      if (callBack) {
        callBack(true);
      }
      return true;
    } catch (e) {
      if (callBack) {
        callBack(false);
      }
      return false;
    }
  } else {
    if (callBack) {
      callBack(true);
    }
    return true;
  }
}

更多关于HarmonyOS鸿蒙Next中每次进入app都会校验申请推送通知的权限,校验的时候会跳转到设置页,而不是弹起授权弹窗的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

解决了,是项目配置问题:

"actions": [
  "action.system.home",(这一条不能删除)
  "action.micen.push.core.notification.message"
]

更多关于HarmonyOS鸿蒙Next中每次进入app都会校验申请推送通知的权限,校验的时候会跳转到设置页,而不是弹起授权弹窗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,应用每次启动时都会校验推送通知权限,这一行为与系统设计有关。鸿蒙Next采用了更为严格的权限管理机制,确保用户对应用权限的掌控。当应用检测到推送通知权限未授予时,系统会直接跳转到设置页面,而不是弹出授权弹窗。这种设计是为了让用户明确知晓权限的授予状态,并在系统设置中进行统一管理。这一机制符合鸿蒙Next的安全和隐私策略,确保应用权限的透明性和用户控制权。

在HarmonyOS鸿蒙Next中,如果每次进入应用时都会跳转到设置页来校验推送通知权限,而不是直接弹出授权弹窗,可能是因为应用在权限请求时直接调用了系统设置页的接口。建议检查应用的权限请求逻辑,确保在请求推送通知权限时使用requestPermissionsFromUser方法,而不是直接跳转到设置页。这样可以避免用户体验上的不便,并确保权限请求流程符合系统规范。

回到顶部