IllegalArgumentException: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.

スポンサーリンク

 FLAG_IMMUTABLE or FLAG_MUTABLE
target S+ で出るらしい。


java.lang.IllegalArgumentException: com.benigumo.sample: 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)

PendingIntent を利用してない場合は、

PendingIntent
以下を追記で消える。

バグの修正
PendingIntent の可変性を明示的にして、Android 12 をターゲットに設定したときのクラッシュを修正します。(b/180884673)

👉 WorkManager  |  Android デベロッパー  |  Android Developers 


implementation "androidx.work:work-runtime-ktx:2.7.0"

PendingIntentを使ってる場合は、

フラグ追加で微修正。

👉 PendingIntentのFLAG_IMMUTABLEとFLAG_MUTABLE - Kenji Abe - Medium 
👉 Android12 が来たので新機能を使ってみました。 


関連ワード:  androidandroid12評判開発