Fatal Exception: java.lang.SecurityException
One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts
- android.os.Parcel.createExceptionOrNull (Parcel.java:3069)
- android.content.ContextWrapper.registerReceiver (ContextWrapper.java:772)
- com.oval.sms_receiver.SmsReceiverPlugin$startListening$1.invoke (SmsReceiverPlugin.java:1)
- com.oval.sms_receiver.SmsReceiverPlugin$startListening$1.invoke (SmsReceiverPlugin.java:1)
- com.oval.sms_receiver.SmsReceiverPlugin.startListening$lambda$1 (SmsReceiverPlugin.java:1)
- com.google.android.gms.tasks.zzm.run (zzm.java:25)
- com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1103)
Most probably you should add RECEIVER_EXPORTED when registering a BroadcastReceiver in SmsReceiverPlugin.kt#84:
// old
activity.registerReceiver(smsBroadcastReceiver,
IntentFilter(SmsRetriever.SMS_RETRIEVED_ACTION))
// new
if (Build.VERSION.SDK_INT >= 33) {
activity.registerReceiver(smsBroadcastReceiver,
IntentFilter(SmsRetriever.SMS_RETRIEVED_ACTION),
Context.RECEIVER_EXPORTED)
} else {
activity.registerReceiver(smsBroadcastReceiver,
IntentFilter(SmsRetriever.SMS_RETRIEVED_ACTION))
}
Most probably you should add
RECEIVER_EXPORTED
when registering aBroadcastReceiver
inSmsReceiverPlugin.kt#84
: