用uni-app wap2app打包的安卓首次安装不弹出推送通知授权
用wap2app打包的安卓首次安装不弹出推送通知授权,需要手动在手机设置里打开授权,plus是勾选的
需要调用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,已经修复,你现在是收不到通知?
收不到通知授权,手机设置通知都是关闭的
回复 c***@sina.cn: 现在不会默认创建渠道,所以不会主动申请通知权限,当使用push相关api时才会创建渠道,也就是申请了通知权限。
这是因为Android系统对通知权限的管理策略变更导致的。从Android 13(API 33)开始,系统不再自动弹出通知权限请求,需要开发者主动调用API来触发授权弹窗。
解决方案:
- 在manifest.json中确认已正确配置推送权限:
"permissions": [
"android.permission.POST_NOTIFICATIONS"
]
- 在应用启动时主动请求权限:
// 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);
});
}
- 对于Android 12及以下版本,系统仍会自动弹出权限请求,但建议也主动检查权限状态:
plus.android.checkPermission('android.permission.POST_NOTIFICATIONS');