用uni-app wap2app打包的安卓首次安装不弹出推送通知授权

用wap2app打包的安卓首次安装不弹出推送通知授权,需要手动在手机设置里打开授权,plus是勾选的

12 回复

需要调用push相关API才会触发权限的申请。

更多关于用uni-app wap2app打包的安卓首次安装不弹出推送通知授权的实战教程也可以访问 https://www.itying.com/category-93-b0.html


以前的代码安装apk就会弹通知授权

安装apk不会弹出授权框的,只有在运行应用时才可能弹框。确认是否在同一台手机,不同ROM手机的逻辑是有差别的。

我这是oppo手机,2023年打包一个版本,安装后运行就弹出通知的授权,而现在打包一个版本,安装运行后不弹出通知授权,也得不到通知

回复 c***@sina.cn: 把两个安装包发出来(或者下载地址)

回复 DCloud_App_Array: 安装运行没通知授权app下载https://hxhj.oss-cn-beijing.aliyuncs.com/download/hxapp.apk

回复 DCloud_App_Array: 安装运行提示授权下载https://a.app.qq.com/o/simple.jsp?pkgname=w2a.W2Awww.yingde.info

“第一次安装启动,不调用push相关api就申请通知权限”,这是一个bug,已经修复,你现在是收不到通知?

收不到通知授权,手机设置通知都是关闭的

现在打包依旧存在这个bug

回复 c***@sina.cn: 现在不会默认创建渠道,所以不会主动申请通知权限,当使用push相关api时才会创建渠道,也就是申请了通知权限。

这是因为Android系统对通知权限的管理策略变更导致的。从Android 13(API 33)开始,系统不再自动弹出通知权限请求,需要开发者主动调用API来触发授权弹窗。

解决方案:

  1. 在manifest.json中确认已正确配置推送权限:
"permissions": [
    "android.permission.POST_NOTIFICATIONS"
]
  1. 在应用启动时主动请求权限:
// App.vue的onLaunch中
if(plus.os.name === 'Android' && parseInt(plus.os.version) >= 13) {
    plus.android.requestPermissions(['android.permission.POST_NOTIFICATIONS'], function(e){
        console.log('通知权限请求结果:', e);
    }, function(e){
        console.error('请求通知权限失败:', e);
    });
}
  1. 对于Android 12及以下版本,系统仍会自动弹出权限请求,但建议也主动检查权限状态:
plus.android.checkPermission('android.permission.POST_NOTIFICATIONS');
回到顶部