java.lang.IllegalArgumentException: : Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
at android.app.PendingIntent.checkFlags(PendingIntent.java:375)
at android.app.PendingIntent.getBroadcastAsUser(PendingIntent.java:645)
at android.app.PendingIntent.getBroadcast(PendingIntent.java:632)
at androidx.work.impl.utils.ForceStopRunnable.getPendingIntent(ForceStopRunnable.java:174)
at androidx.work.impl.utils.ForceStopRunnable.isForceStopped(ForceStopRunnable.java:108)
at androidx.work.impl.utils.ForceStopRunnable.run(ForceStopRunnable.java:86)
at androidx.work.impl.utils.SerialExecutor$Task.run(SerialExecutor.java:75)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:920)
안드로이드 버전 12에서 기존 앱을 실행시에 오류가 발생했다.
무슨 에러인가 찾아보니 해결법은 의외로 간단하였다.
build.gradle에 라이브러리를 추가해 주면 되었다.
dependencies {
...
implementation 'androidx.work:work-runtime-ktx:2.7.0'
...
}
AndroidManifest.xml에서 exported를 사용하고 android version 31에서 돌릴경우 에러가 발생한 것 같았다.
android:exported="true"
<application
...>
<activity
android:name=".MainActivity"
android:screenOrientation="portrait"
android:exported="true">
<intent-filter>
...
</intent-filter>
</activity>
</application>
라이브러리를 추가하고 업데이트 함으로 해결이 되었다.
'Programing > android' 카테고리의 다른 글
[android] tab과 fragment 사용 (0) | 2022.04.03 |
---|---|
android design 라이브러리 추가시 오류 (0) | 2022.03.12 |
[android] 카카오 광고 adfit 앱에 달기 (0) | 2021.12.06 |
[android] Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider 오류 error (0) | 2021.12.06 |
[android] 앱 화면이 꺼지지 않도록 설정하기 (0) | 2021.12.03 |
댓글