syczuan
syczuan
  • 发布:2023-08-21 17:30
  • 更新:2024-09-23 17:34
  • 阅读:9617

解决安卓targetSdkVersion升级为33导致通知权限无法打开问题

分类:uni-app

安卓从13开始,对通知权限加入了POST_NOTIFICATIONS权限,需要动态申请才可以发送通知, 安卓targetSdkVersion升级为33后,如果不添加权限,打开设置时通知开关是禁用状态,以下是解决步骤

1.manifest.json源码中添加权限"<uses-permission android:name=\"android.permission.POST_NOTIFICATIONS\"/>",然后重新打包自定义基座,如图所示

2.在需要使用通知的地方执行以下函数,用于请求通知权限,通知权限一般最多弹出两次,两次后用户还没有同意的话再次请求则不会弹出提示,需要根据回调判断是否永久拒绝,跳转到通知设置

    function requestPermission() {  
      const Build = plus.android.importClass("android.os.Build");  
      if (Build.VERSION.SDK_INT >= 33) {  
        plus.android.requestPermissions(  
          ["android.permission.POST_NOTIFICATIONS"],  
          (resultObj) => {  
            console.log(resultObj);  
          },  
          (error) => {  
            console.log("申请权限错误:" + error.code + " = " + error.message);  
          }  
        );  
      }  
    },
2 关注 分享
FE_liyangyang BoredApe

要回复文章请先登录注册

1***@qq.com

1***@qq.com

回复 zhaoyu2020 :
我把代码 在登录页面进入后调用楼主代码 但是没有弹出通知权限内容 方便告知下你是怎么处理的吗
2024-09-23 17:34
南黎2024

南黎2024

引入了通知权限后
uses-permission android:name=\"android.permission.POST_NOTIFICATIONS
开启权限是正常的 但是如果关闭了权限回到app,app就会刷新一下 这个是安卓sdk33的特性吗? 我在安卓12没有遇到过这种情况
而且一定要配置push 否则会弹窗提示push没有配置的警告 
如果我不想用用unipush就不行吗?配置了上面这个权限默认就给我带上了push了 如何配置取消呢?
2024-09-20 08:49
南黎2024

南黎2024

大佬 如果说我想要权限可以开关 又不想要用uniapp的push功能,怎么办?
我发现如果我设置了这个权限 就提示push功能缺少配置 而且关闭权限后返回 还会导致app闪退报错提示
16:53:35.645 [GtPush]
16:53:35.645 register fail: {"errorCode":1,"errorMsg":""}
2024-09-19 16:55
风云21

风云21

需要自己手动写代码打开通知权限弹窗了?
2024-09-01 09:26
FE_liyangyang

FE_liyangyang

你好,我写了以后,但是不弹出权限申请
2024-03-29 17:39
zhaoyu2020

zhaoyu2020

推送的权限是能打开了 但是原来正常的推送 现在还是收不到了...
2023-09-01 15:21
zhaoyu2020

zhaoyu2020

楼主的方法确实有用,谢谢
2023-09-01 14:44
zhaoyu2020

zhaoyu2020

我试试看,谢谢楼主
2023-09-01 14:23
y***@gmail.com

y***@gmail.com

感谢提醒
2023-08-28 11:39