定位 S+(版本 31 及更高版本)要求在创建 PendingIntent 时指定 FLAG_IMMUTABLE 或 FLAG_MUTABLE 之一。强烈考虑使用 FLAG_IMMUTABLE,仅当某些功能依赖于 PendingIntent 是可变的时才使用 FLAG_MUTABLE,例如,如果它需要与内联回复或气泡一起使用。
堆栈跟踪:
com.google.crypto.tink.shaded.protobuf.FieldType$Collection。(FieldType.java:337) androidx.security.crypto.EncryptedSharedPreferences$PrefKeyEncryptionScheme。(EncryptedSharedPreferences.java:148) PreferenceHelper$Companion.init (PreferenceHelper.kt:41)
这就是我初始化 SharedPreferences 的方式:
private lateinit var preferences: SharedPreferences
fun init(context: Context) {
val mainKey = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC);
preferences = EncryptedSharedPreferences.create(
SHARED_PREF_KEY,
mainKey,
context,
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV, <- this is the 41 line number, where its crashing
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
)
}
请问有什么帮助吗?