安卓从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);
}
);
}
},