markzhai / AndroidPerformanceMonitor

A transparent ui-block detection library for Android. (known as BlockCanary)
Apache License 2.0
6.67k stars 1.02k forks source link

android12崩溃,PendingIntent标志位需要适配 #147

Open suyxin opened 2 years ago

suyxin commented 2 years ago
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:378)
    at android.app.PendingIntent.getActivityAsUser(PendingIntent.java:461)
    at android.app.PendingIntent.getActivity(PendingIntent.java:447)
    at android.app.PendingIntent.getActivity(PendingIntent.java:411)
    at com.github.moduth.blockcanary.DisplayService.onBlock(DisplayService.java:46)
    at com.github.moduth.blockcanary.BlockCanaryInternals$1.onBlockEvent(BlockCanaryInternals.java:67)
    at com.github.moduth.blockcanary.LooperMonitor$1.run(LooperMonitor.java:80)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:233)
    at android.os.Looper.loop(Looper.java:344)
    at android.os.HandlerThread.run(HandlerThread.java:67)
suyxin commented 2 years ago

PendingIntent pendingIntent = PendingIntent.getActivity(context, 1, intent, FLAG_UPDATE_CURRENT); 需要适配为

suyxin commented 2 years ago

PendingIntent pendingIntent = PendingIntent.getActivity(context, 1, intent, FLAG_IMMUTABLE | FLAG_UPDATE_CURRENT);

sunmTree commented 1 year ago

作者不更新了吗

ideav5 commented 1 year ago

您发给我的信件已经收到。 谢谢!

Jsonjia commented 1 year ago

+1

ideav5 commented 1 year ago

您发给我的信件已经收到。 谢谢!

uidq1290 commented 1 year ago

已收到

mhz-tiantian commented 1 year ago

+1 一样的问题