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

Android 12唤起手机号时PendingIntent可变性标志设置及崩溃解决方法

问题原因

Android 12(API 31)及以上系统要求,所有PendingIntent在创建时必须明确指定FLAG_IMMUTABLE或FLAG_MUTABLE可变性标志。
本次崩溃发生在getHintPickerIntent方法执行过程中,该方法返回的PendingIntent由Google Play Services Auth库内部完成创建,低版本的该库未适配Android 12的这项要求,创建时未添加对应标志直接触发异常,你无法在获取到返回结果后再修改标志解决问题。

解决方案
  • 方案一(推荐):升级Google Play Services Auth依赖到适配版本
    将项目中com.google.android.gms:play-services-auth的依赖版本升级到19.2.0及以上即可,该版本开始官方已经在内部创建PendingIntent时主动添加了合规的可变性标志,原有业务代码无需修改即可正常运行。
    示例gradle依赖配置:
dependencies {
    // 可替换为19.2.0以上的最新稳定版本
    implementation 'com.google.android.gms:play-services-auth:20.7.0'
}
  • 方案二(临时兼容):如果暂时无法升级依赖,可以先将项目的targetSdkVersion降到30(Android 11),即可规避Android 12的PendingIntent可变性校验规则,后续具备升级条件时再恢复目标SDK版本即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:06:08