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

Cordova插件在Android 13中获取本地通知权限问题求助

Android 13 下 Cordova 本地通知权限问题解决方案及适配插件推荐

现有插件的修复方案

你当前使用的插件未适配 Android 13 新增的 POST_NOTIFICATIONS 权限,setdummynotification() 方法也未实现正确的权限请求逻辑,因此无法触发授权弹窗。可以手动给插件补全权限处理:

  • 在插件的 AndroidManifest.xml 中添加权限声明:
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    
  • 在插件的 Java 核心代码中,添加权限检查与请求逻辑(触发通知前执行):
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
        int permissionStatus = ContextCompat.checkSelfPermission(cordova.getActivity(), Manifest.permission.POST_NOTIFICATIONS);
        if (permissionStatus != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(cordova.getActivity(), new String[]{Manifest.permission.POST_NOTIFICATIONS}, 1001);
        }
    }
    
  • 在 JS 层监听权限请求结果,确认用户授权后再调用通知发送接口。

适配 Android 13 的替代插件

  • cordova-plugin-local-notification:社区维护的主流本地通知插件,已完整适配 Android 13 权限机制,调用通知前会自动弹出系统授权弹窗,无需额外手动处理权限流程,稳定性和兼容性都有保障。
  • cordova-plugin-firebasex:若项目需集成 Firebase 推送功能,该插件同时支持本地通知,且已适配 Android 13 的权限要求,适合有 Firebase 相关需求的场景。

关键注意点

Android 13 强制要求显式请求 POST_NOTIFICATIONS 权限,任何未实现该逻辑的插件都无法正常弹出授权弹窗。只要使用的插件正确实现了权限请求流程,就能避免引导用户手动进入系统设置开启通知的低效方案。

内容的提问来源于stack exchange,提问作者Jon Schlossberg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 18:53:21