Mobile-SDK-Android-V5 icon indicating copy to clipboard operation
Mobile-SDK-Android-V5 copied to clipboard

Targeting U+ (version 34 and above) disallows creating or retrieving a PendingIntent with FLAG_MUTABLE

Open namnhbhtech opened this issue 8 months ago • 2 comments

Steps to reproduce:

  1. update android target sdk version
  2. migrate methods if needs
  3. build then open app on device android 14
  4. plugging controller usb when app is running

gradle.properties

#build config
ANDROID_MIN_SDK_VERSION=26
ANDROID_TARGET_SDK_VERSION=34
ANDROID_COMPILE_SDK_VERSION=34
FATAL EXCEPTION: dji_background_thread (Ask Gemini)
Process: com.dji.sampleV5.aircraft, PID: 24822
java.lang.IllegalArgumentException: com.dji.sampleV5.aircraft: Targeting U+ (version 34 and above) disallows creating or retrieving a PendingIntent with FLAG_MUTABLE, an implicit Intent within and without FLAG_NO_CREATE and FLAG_ALLOW_UNSAFE_IMPLICIT_INTENT for security reasons. To retrieve an already existing PendingIntent, use FLAG_NO_CREATE, however, to create a new PendingIntent with an implicit Intent use FLAG_IMMUTABLE.
at android.os.Parcel.createExceptionOrNull(Parcel.java:3073)
at android.os.Parcel.createException(Parcel.java:3053)
at android.os.Parcel.readException(Parcel.java:3036)
at android.os.Parcel.readException(Parcel.java:2978)
at android.app.IActivityManager$Stub$Proxy.getIntentSenderWithFeature(IActivityManager.java:7027)
at java.lang.reflect.Method.invoke(Native Method)
at leakcanary.ServiceWatcher$install$4$2.invoke(ServiceWatcher.kt:93)
at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
at $Proxy3.getIntentSenderWithFeature(Unknown Source)
at android.app.PendingIntent.getBroadcastAsUser(PendingIntent.java:752)
at android.app.PendingIntent.getBroadcast(PendingIntent.java:735)
at dji.sdk.datalink.usb.co_a.co_a(DJIUsbAccessoryReceiver.java:280)
at dji.sdk.datalink.usb.co_a.co_i(DJIUsbAccessoryReceiver.java:5)
at dji.sdk.datalink.usb.co_a$co_b.handleMessage(DJIUsbAccessoryReceiver.java:3)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.am.ActivityManagerService.getIntentSenderWithFeatureAsApp(ActivityManagerService.java:6468)
at com.android.server.am.ActivityManagerService.getIntentSenderWithFeature(ActivityManagerService.java:6411)
at android.app.IActivityManager$Stub.onTransact$getIntentSenderWithFeature$(IActivityManager.java:11885)
at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:3375)
at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3198)

image

namnhbhtech avatar Jun 14 '24 02:06 namnhbhtech