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

Unity构建启动崩溃(API等级31及以上):PendingIntent参数缺失问题

解决TargetSdk 31+启动崩溃(PendingIntent Flag缺失)问题

问题根源

Android 12(API 31)及以上版本强制要求创建PendingIntent时必须指定FLAG_IMMUTABLE或FLAG_MUTABLE标记,未指定会直接触发崩溃。你遇到的情况大概率是依赖的第三方SDK(Firebase/AdMob)旧版本未适配该规则,或者自己代码中存在未添加标记的PendingIntent创建逻辑。

分步解决方案

1. 优先升级第三方SDK到最新稳定版

Firebase和AdMob官方早已针对API31+适配了PendingIntent的标记要求,升级到最新版本通常能直接解决问题:

  • Firebase SDK:使用Firebase BOM统一管理版本,确保所有Firebase组件版本一致且最新。在build.gradle(Module级别)中更新:
    dependencies {
        // 使用Firebase BOM获取最新版本
        implementation platform('com.google.firebase:firebase-bom:32.7.0')
        // Crashlytics和Analytics
        implementation 'com.google.firebase:firebase-crashlytics'
        implementation 'com.google.firebase:firebase-analytics'
    }
    
  • AdMob SDK:更新广告依赖到最新稳定版:
    dependencies {
        implementation 'com.google.android.gms:play-services-ads:22.6.0'
    }
    
    注:版本号可根据官方最新发布调整,确保使用当前最新稳定版。

2. 检查并修复自有代码中的PendingIntent

如果升级SDK后仍崩溃,排查自己代码中所有创建PendingIntent的场景(如通知、闹钟、广播跳转等),添加对应标记:

  • 优先使用FLAG_IMMUTABLE(绝大多数场景推荐,避免意外修改Intent):
    // 示例:创建跳转Activity的PendingIntent
    Intent intent = new Intent(this, TargetActivity.class);
    PendingIntent pendingIntent;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
        pendingIntent = PendingIntent.getActivity(
            this,
            0,
            intent,
            PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE
        );
    } else {
        pendingIntent = PendingIntent.getActivity(
            this,
            0,
            intent,
            PendingIntent.FLAG_UPDATE_CURRENT
        );
    }
    
  • 仅当业务需要修改PendingIntent内部的Intent时,才使用FLAG_MUTABLE(如某些动态更新通知内容的场景)。

3. 排查隐藏的PendingIntent依赖

如果以上两步都没解决,检查是否使用了其他间接依赖PendingIntent的组件:

  • 自定义通知渠道或通知创建逻辑
  • 第三方推送SDK(如果除Firebase外还有其他)
  • 闹钟任务(AlarmManager)或定时任务

验证方法

升级依赖/修复代码后,清理项目缓存(Build > Clean Project),重新构建并在API31+的设备/模拟器上测试启动,确认崩溃消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 03:20:43