Mi aplicación se bloqueó al apuntar a Android 12
Aquí está el registro de fallas:
java.lang.RuntimeException: Unable to create service com.kdr.snipping.CheckRecentRun: java.lang.IllegalArgumentException: com.kdr.snipping: 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, eg if it needs to be used with inline replies or bubbles. at android.app.ActivityThread.handleCreateService(ActivityThread.java:4500) at android.app.ActivityThread.access$1700(ActivityThread.java:247) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2072) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7839) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) Caused by: java.lang.IllegalArgumentException: com.kdr.snipping: 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, eg if it needs to be used with inline replies or bubbles. at android.app.PendingIntent.checkFlags(PendingIntent.java:375) at android.app.PendingIntent.buildServicePendingIntent(PendingIntent.java:724) at android.app.PendingIntent.getService(PendingIntent.java:686) at com.kdr.snipping.CheckRecentRun.setAlarm(CheckRecentRun.java:44) at com.kdr.snipping.CheckRecentRun.onCreate(CheckRecentRun.java:35) at android.app.ActivityThread.handleCreateService(ActivityThread.java:4487) ... 9 moreUso la siguiente implementación en mi Gradle
implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'com.google.android.material:material:1.5.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.3' implementation 'com.google.android.gms:play-services-ads-lite:20.6.0' implementation 'com.google.android.gms:play-services-ads:20.6.0' implementation 'androidx.work:work-runtime:2.7.1' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'Espero que alguien pueda ayudarme Thx
Con la introducción de Android 12, ahora debe configurar el indicador PendingIntent.FLAG_IMMUTABLE o PendingIntent.FLAG_MUTABLE.
PendingIntent.getActivity(context, requestCode, intent, PendingIntent.FLAG_IMMUTABLE)o
PendingIntent.getActivity(context, 1337, openAppIntent, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_CANCEL_CURRENT)Ver más aquí