mparticle-android-sdk icon indicating copy to clipboard operation
mparticle-android-sdk copied to clipboard

Android 14 problem - initialization broadcast intent with MParticle.ServiceProviders.BROADCAST_ACTIVE should set package too

Open fada21 opened this issue 2 years ago • 0 comments

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

fada21 avatar Mar 25 '24 21:03 fada21