mparticle-android-sdk
mparticle-android-sdk copied to clipboard
Android 14 problem - initialization broadcast intent with MParticle.ServiceProviders.BROADCAST_ACTIVE should set package too
We had a problem that kit activated broadcast (MParticle.ServiceProviders.BROADCAST_ACTIVE_xx) were not received on devices on Android 14.
It turns out that our registered receiver used recommended flag Context.RECEIVER_NOT_EXPORTED and that requires package set on intent.
Here sdk code from v5.55.2
https://github.com/mParticle/mparticle-android-sdk/blob/9b5068e74c6f8cbdb5e422c290d9ea9e1af59933/android-kit-base/src/main/java/com/mparticle/kits/KitManagerImpl.java#L319-L320
We suggest change like:
Intent intent = new Intent(MParticle.ServiceProviders.BROADCAST_ACTIVE + activeKit.getConfiguration().getKitId());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
intent.setPackage(getContext().getPackageName())
}
getContext().sendBroadcast(intent);
See external tracked issue here: https://issuetracker.google.com/issues/293487554#comment14 and stackoverflow: https://stackoverflow.com/a/76920719