使用 Cordova 12 的 Android 本地通知

问题描述 投票:0回答:1

我有一个使用 Cordova 开发的应用程序,并使用 Katzer 的 cordova-plugin-local-notification 插件。 当我将其升级到 Cordova 12(以便能够定位将应用程序发布到 Play 商店所需的 sdk)时,我无法再构建 apk。 因此,在浏览选项后,请阅读一些可以工作的分叉,因此我删除了该版本的插件并尝试使用 cordova-plugin-local-notification-12 和 @moodlehq/cordova-plugin-local-notification。但问题是,即使我现在能够构建 apk,通知也不会触发,调用命令来触发通知时不会触发任何错误,但它们就是不会出现。 这种情况发生在 2 台运行 Android 12 的设备上。我在 Android 9 设备中尝试了相同的 apk,它运行正常。 大家有同样的问题吗

cordova notifications cordova-plugins
1个回答
0
投票

这里有类似的问题 - 我立即注意到的一件事是,Android 12/13 默认情况下不提供通知权限,并且插件 hasPermission()/requestPermission() 不会像过去那样生成更改权限的请求。

解决方法(到目前为止)是使用 hasPermission() 检测通知是否关闭,然后提示用户进入 Android 设置并授予应用程序权限。

一旦获得权限,我就可以在 Android 12/13 上显示基本通知。 Android 13 需要额外调用 setDummyNotifications(),我将其放在应用程序顶部附近。

然而,Android 14 beta 是另一个混乱,因为它默认阻止 setExact() 警报通知,并且它们告诉应用程序“优雅地失败”,因此 Android 14 需要进行大量重写才能处理所有情况。 https://developer.android.com/about/versions/14/changes/schedule-exact-alarms

© www.soinside.com 2019 - 2024. All rights reserved.