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

Android 12及以上版本收不到推送通知求解决方案(编译/目标版本32)

Android 12+(API 32)推送通知接收失败解决方案

先排查以下几个Android 12+特有的配置和权限问题,这些是导致推送失败的常见原因:

  • 确认通知渠道配置有效:Android 12+要求所有通知必须绑定有效的通知渠道,且渠道重要性不能设为最低。创建渠道时得把setImportance()设为IMPORTANCE_DEFAULT及以上,推送时指定的渠道ID要和创建的完全一致。示例代码:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    val channel = NotificationChannel("your_channel_id", "消息通知", NotificationManager.IMPORTANCE_DEFAULT)
    channel.description = "接收应用推送消息"
    val notificationManager = getSystemService(NotificationManager::class.java)
    notificationManager.createNotificationChannel(channel)
}
  • 添加并申请POST_NOTIFICATIONS权限:虽然API 32(Android 12L)默认授予该权限,但如果用户手动关闭过就需要重新申请。先在Manifest里加权限:
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

然后针对Android 13+(兼容12+)动态申请:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) {
        requestPermissions(arrayOf(Manifest.permission.POST_NOTIFICATIONS), 1001)
    }
}
  • 修正PendingIntent的FLAG设置:Android 12+对PendingIntent的FLAG有严格限制,不能混用FLAG_IMMUTABLE和FLAG_MUTABLE。如果需要修改Intent内容,必须用FLAG_MUTABLE,适配代码如下:
val flags = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
    PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE
} else {
    PendingIntent.FLAG_UPDATE_CURRENT
}
val pendingIntent = PendingIntent.getActivity(this, 0, targetIntent, flags)
  • 检查后台运行权限:Android 12+收紧了后台应用限制,如果推送需要后台唤醒应用,得确保应用有“后台活动”权限(在系统设置的应用详情里开启),必要时申请SCHEDULE_EXACT_ALARM或对应厂商的后台权限。

  • 适配第三方推送服务的API 32要求:如果用了Firebase、小米、华为这类推送SDK,先确认SDK版本已经适配Android 12+。比如Firebase Messaging要更到23.0.0以上,同时检查Manifest里的服务、接收器声明是否完整,有没有遗漏厂商要求的配置。

  • 调整推送消息优先级:Android 12+会拦截低优先级通知,把推送消息的优先级设为high(比如FCM payload里加"priority": "high"),避免被系统延迟或过滤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 13:51:14