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

Android TargetSDK34升级后,MESSAGING_EVENT对应foregroundServiceType选型咨询

解决方案:TargetSDK 34下Firebase Messaging服务的foregroundServiceType选择

直接结论:你需要将foregroundServiceType改为remoteMessaging,这是匹配Firebase消息推送场景的正确类型。

原因说明

Android 14(API 34)对前台服务的类型做了严格的场景绑定要求,不同的业务场景必须对应正确的foregroundServiceType,否则会导致服务启动失败或触发系统异常。

  • dataSync适用于本地与远程服务器之间的数据同步场景,比如备份、同步用户数据等;
  • remoteMessaging则是专门为接收远程推送消息的服务设计的,完全匹配你当前处理com.google.firebase.MESSAGING_EVENT事件的场景。

修改后的代码

<service android:name=".Push.PushIntentService"
    android:exported="false"
    android:foregroundServiceType="remoteMessaging" >   <!-- 修改此处 -->
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>

额外说明

如果你的PushIntentService同时需要处理消息推送和数据同步两类任务,可以通过竖线分隔指定多个类型,例如:

android:foregroundServiceType="remoteMessaging|dataSync"

但如果仅用于处理Firebase消息推送,单独使用remoteMessaging即可满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 03:04:56