升级Android14:Cordova多渠道项目ForegroundService需配置foregroundServiceType吗?
关于Cordova后台模式插件ForegroundService的Android 14适配问题
结论:
org.apache.cordova.background.ForegroundService必须设置foregroundServiceType,Android 13(API 33)及以上系统强制要求所有前台服务声明明确的类型,未声明的话服务启动会失败,甚至抛出异常。适配类型选择:
这个插件的核心作用是让应用在后台保持活跃、执行后台任务,对应合适的类型有两种:dataSync:如果你的应用用这个插件做数据同步、后台上传/下载等任务,选这个类型最贴合specialUse:如果只是单纯保持应用后台存活,没有明确对应其他官方类型的场景,用这个类型。注意使用specialUse需要在应用隐私政策中说明服务的具体用途,符合Google Play合规要求
配置示例:
修改每个渠道Manifest中的服务标签,添加属性:<service android:name="org.apache.cordova.background.ForegroundService" android:foregroundServiceType="dataSync" />若需要同时兼容多种场景,也可以用竖线分隔多个类型:
<service android:name="org.apache.cordova.background.ForegroundService" android:foregroundServiceType="dataSync|specialUse" />额外提示:因为是多渠道独立Manifest,手动修改每个渠道文件容易遗漏,建议用Cordova的
after_prepare钩子脚本自动给所有渠道的Manifest添加这个属性,提升适配效率。
内容的提问来源于stack exchange,提问作者Akshat kant
相关产品推荐
相关产品推荐

