Android 12环境下调用HMS base库getErrPendingIntent触发FLAG异常适配问询
问题修复说明
该异常是Android 12(API 31+)对PendingIntent创建的强制校验规则,与低版本HMS Base SDK未适配新系统规则导致的冲突,华为官方已完成该问题的适配修复:
- 适配版本:
com.huawei.hms:base从6.3.0.302版本开始,所有内部PendingIntent创建逻辑均已显式声明FLAG_IMMUTABLE或FLAG_MUTABLE标识,完全兼容Android 12及以上系统,不会再触发该崩溃。 - 推荐解决方案:直接将项目中的HMS Base依赖从
6.1.0.302升级到6.3.0.302及以上的稳定版本即可解决问题,无需修改业务侧调用逻辑。 - 临时兼容方案:若当前项目暂时无法升级SDK版本,可在调用
getErrPendingIntent方法时增加版本判断:当设备系统版本≥31时,捕获该异常后自行构造携带FLAG_IMMUTABLE标识的PendingIntent处理异常跳转逻辑。
内容的提问来源于stack exchange,提问作者Gleb Maliborsky
相关产品推荐
相关产品推荐

