Fix Android 14 SecurityException by overriding registerReceiver to include Context.RECEIVER_EXPORTED. Bump version to 23.01.62.
This commit is contained in:
1 parent
a4f8479a08
commit
23c1e3c78f
11 files changed
+114
-43
No files matched your search
@@ -58,4 +58,36 @@ class MainActivity : ReactActivity() {
|
||||
// because it's doing more than [Activity.moveTaskToBack] in fact.
|
||||
super.invokeDefaultOnBackPressed()
|
||||
}
|
||||
|
||||
override fun registerReceiver(receiver: android.content.BroadcastReceiver?, filter: android.content.IntentFilter?): android.content.Intent? {
|
||||
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
super.registerReceiver(receiver, filter, android.content.Context.RECEIVER_EXPORTED)
|
||||
} else {
|
||||
super.registerReceiver(receiver, filter)
|
||||
}
|
||||
}
|
||||
|
||||
override fun registerReceiver(receiver: android.content.BroadcastReceiver?, filter: android.content.IntentFilter?, flags: Int): android.content.Intent? {
|
||||
var newFlags = flags
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
newFlags = newFlags or android.content.Context.RECEIVER_EXPORTED
|
||||
}
|
||||
return super.registerReceiver(receiver, filter, newFlags)
|
||||
}
|
||||
|
||||
override fun registerReceiver(receiver: android.content.BroadcastReceiver?, filter: android.content.IntentFilter?, broadcastPermission: String?, scheduler: android.os.Handler?): android.content.Intent? {
|
||||
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
super.registerReceiver(receiver, filter, broadcastPermission, scheduler, android.content.Context.RECEIVER_EXPORTED)
|
||||
} else {
|
||||
super.registerReceiver(receiver, filter, broadcastPermission, scheduler)
|
||||
}
|
||||
}
|
||||
|
||||
override fun registerReceiver(receiver: android.content.BroadcastReceiver?, filter: android.content.IntentFilter?, broadcastPermission: String?, scheduler: android.os.Handler?, flags: Int): android.content.Intent? {
|
||||
var newFlags = flags
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
newFlags = newFlags or android.content.Context.RECEIVER_EXPORTED
|
||||
}
|
||||
return super.registerReceiver(receiver, filter, broadcastPermission, scheduler, newFlags)
|
||||
}
|
||||
}
|
||||
@@ -53,4 +53,36 @@ class MainApplication : Application(), ReactApplication {
|
||||
super.onConfigurationChanged(newConfig)
|
||||
ApplicationLifecycleDispatcher.onConfigurationChanged(this, newConfig)
|
||||
}
|
||||
|
||||
override fun registerReceiver(receiver: android.content.BroadcastReceiver?, filter: android.content.IntentFilter?): android.content.Intent? {
|
||||
return if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) {
|
||||
super.registerReceiver(receiver, filter, android.content.Context.RECEIVER_EXPORTED)
|
||||
} else {
|
||||
super.registerReceiver(receiver, filter)
|
||||
}
|
||||
}
|
||||
|
||||
override fun registerReceiver(receiver: android.content.BroadcastReceiver?, filter: android.content.IntentFilter?, flags: Int): android.content.Intent? {
|
||||
var newFlags = flags
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) {
|
||||
newFlags = newFlags or android.content.Context.RECEIVER_EXPORTED
|
||||
}
|
||||
return super.registerReceiver(receiver, filter, newFlags)
|
||||
}
|
||||
|
||||
override fun registerReceiver(receiver: android.content.BroadcastReceiver?, filter: android.content.IntentFilter?, broadcastPermission: String?, scheduler: android.os.Handler?): android.content.Intent? {
|
||||
return if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) {
|
||||
super.registerReceiver(receiver, filter, broadcastPermission, scheduler, android.content.Context.RECEIVER_EXPORTED)
|
||||
} else {
|
||||
super.registerReceiver(receiver, filter, broadcastPermission, scheduler)
|
||||
}
|
||||
}
|
||||
|
||||
override fun registerReceiver(receiver: android.content.BroadcastReceiver?, filter: android.content.IntentFilter?, broadcastPermission: String?, scheduler: android.os.Handler?, flags: Int): android.content.Intent? {
|
||||
var newFlags = flags
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) {
|
||||
newFlags = newFlags or android.content.Context.RECEIVER_EXPORTED
|
||||
}
|
||||
return super.registerReceiver(receiver, filter, broadcastPermission, scheduler, newFlags)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user