uni-app android14 一打开app 默认弹通知授权弹窗
uni-app android14 一打开app 默认弹通知授权弹窗
操作步骤:
- 安装 app后打开
预期结果:
- 不会默认弹授权窗
实际结果:
- 一打开就弹窗
bug描述:
- 安装 app一打开就会申请通知权限,已经试过把所有的第三方包去掉了也依然会弹出来
- android13的机型倒不会
| 项目 | 信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Mac |
| PC开发环境操作系统版本号 | macOS 13.4.1 © |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.99 |
| 手机系统 | Android |
| 手机系统版本号 | Android 14 |
| 手机厂商 | 小米 |
| 手机机型 | 小米14或者小米k70 |
| 页面类型 | vue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
| App下载地址或H5网址 | https://ide.dcloud.net.cn/build/download/e5dbff80-abb2-11ee-8227-3753c78e0480 |

更多关于uni-app android14 一打开app 默认弹通知授权弹窗的实战教程也可以访问 https://www.itying.com/category-93-b0.html
新系统特性吧
和ios一样
更多关于uni-app android14 一打开app 默认弹通知授权弹窗的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我的也是,试了别的APP就不弹
请问一下你的这个app首次打开启动速度是多少秒?
你好 你是怎么配置 然后安装 app后打开通知权限的弹框的
在 Android 14 及更高版本中,应用在首次启动时默认会弹出通知权限的请求弹窗。这是因为 Android 14 引入了更严格的通知权限管理,要求应用必须显式请求用户授予通知权限,才能发送通知。
对于使用 uni-app 开发的应用,如果你希望在 Android 14 上避免一打开应用就弹出通知权限请求弹窗,可以通过以下方式进行处理:
1. 延迟请求通知权限
你可以在应用启动后,延迟一段时间再请求通知权限,而不是在应用一启动就立即请求。这样可以避免用户在首次打开应用时立即看到权限请求弹窗。
// 在 App.vue 的 onLaunch 生命周期中处理
export default {
onLaunch() {
// 延迟 2 秒再请求通知权限
setTimeout(() => {
this.requestNotificationPermission();
}, 2000);
},
methods: {
requestNotificationPermission() {
// 使用 uni-app 的 API 请求通知权限
uni.getSystemInfo({
success: (res) => {
if (res.platform === 'android' && res.systemVersion >= 14) {
uni.request({
url: 'android.permission.POST_NOTIFICATIONS',
success: (res) => {
console.log('通知权限请求成功', res);
},
fail: (err) => {
console.log('通知权限请求失败', err);
}
});
}
}
});
}
}
}
2. 在合适的时机请求权限
你可以在用户执行某些操作(如点击按钮)时再请求通知权限,而不是在应用启动时立即请求。这样可以提高用户体验,避免用户在不了解应用功能的情况下被要求授予权限。
// 在某个按钮点击事件中请求通知权限
methods: {
onButtonClick() {
this.requestNotificationPermission();
},
requestNotificationPermission() {
uni.getSystemInfo({
success: (res) => {
if (res.platform === 'android' && res.systemVersion >= 14) {
uni.request({
url: 'android.permission.POST_NOTIFICATIONS',
success: (res) => {
console.log('通知权限请求成功', res);
},
fail: (err) => {
console.log('通知权限请求失败', err);
}
});
}
}
});
}
}
3. 使用原生插件处理权限请求
如果你需要更精细的控制,可以考虑使用原生插件来处理通知权限的请求。uni-app 支持通过原生插件扩展功能,你可以编写原生代码来处理 Android 14 的通知权限请求。
4. 在 manifest.json 中配置权限
确保在 manifest.json 中正确配置了通知权限:
{
"app-plus": {
"distribute": {
"android": {
"permissions": [
"android.permission.POST_NOTIFICATIONS"
]
}
}
}
}

