You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级至cordova-android 11后cordova-plugin-local-notification插件失效问题

解决cordova-android 11下cordova-plugin-local-notification插件失效及构建报错问题

1. 更新插件到兼容版本

旧版cordova-plugin-local-notification不支持cordova-android 11的SDK要求,先卸载旧插件再安装最新版:

cordova plugin remove cordova-plugin-local-notification
cordova plugin add cordova-plugin-local-notification@latest

2. 添加Android通知权限

cordova-android 11对应targetSdkVersion 32,Android 13+需要POST_NOTIFICATIONS权限,在config.xml中添加:

<platform name="android">
    <config-file parent="/manifest" target="AndroidManifest.xml">
        <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    </config-file>
</platform>

针对Android 13及以上设备,需动态请求权限,先安装权限处理插件:

cordova plugin add cordova-plugin-permissions

然后在代码中请求权限并初始化通知:

if (cordova.platformId === 'android' && window.android && window.android.os.Build.VERSION.SDK_INT >= 33) {
    cordova.plugins.permissions.requestPermission(
        cordova.plugins.permissions.POST_NOTIFICATIONS,
        (status) => {
            status.hasPermission ? initNotifications() : alert('需要开启通知权限才能使用该功能');
        },
        (err) => console.error('权限请求失败:', err)
    );
} else {
    initNotifications();
}

function initNotifications() {
    cordova.plugins.notification.local.schedule({
        title: '测试通知',
        text: '这是一条测试本地通知',
        id: 1
    });
}

3. 清理缓存并重新构建

构建报错可能是缓存导致的,执行以下命令清理后重新构建:

cordova clean android
cordova build android

4. 确保插件在deviceready后初始化

必须等待cordova设备就绪后再调用插件方法,避免初始化时机错误:

document.addEventListener('deviceready', function() {
    // 这里执行通知相关逻辑
}, false);

内容的提问来源于stack exchange,提问作者Jerson Antekera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 19:05:26