Android
안드로이드 12 PendingIntent 이슈 및 대응
Wook No.1
2022. 9. 6. 14:05
java.lang.IllegalArgumentException: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
안드로이드 targetSdk 12를 사용할때 PendingIntent 사용하게되면 위와 같은 에러가 발생할수 있다.
그래서 targetSdk 12를 사용할때는 아래와 같이 PendingIntent를 구현해야 한다.
val pendingIntent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
PendingIntent.getActivity(this, 0, newIntent, PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)
} else {
PendingIntent.getActivity(this, 0, newIntent, PendingIntent.FLAG_UPDATE_CURRENT)
}
만약 이렇게 해도 에러가 발생하게 되면 아래 dependencies 를 추가해준다.
implementation 'androidx.work:work-runtime-ktx:2.7.0'