Intent receiver method is registered without specifying any broadcast permission. Other applications can send potentially malicious broadcasts, so it is important to limit the applications that can send broadcasts to the receiver.
1// Noncompliant: Intent receiver method is registered without specifying any broadcast permission
2fun noncompliant(
3 context: Context, receiver: BroadcastReceiver?,
4 filter: IntentFilter?,
5 scheduler: Handler?,
6 flags: Int
7) {
8 context.registerReceiver(receiver, filter) // Sensitive
9
10 context.registerReceiver(receiver, filter, flags) // Sensitive
11
12}
1// Compliant: Intent receiver method is registered with a limiting broadcasting permission.
2fun compliant(
3 context: Context, receiver: BroadcastReceiver?,
4 filter: IntentFilter?,
5 broadcastPermission: String?,
6 scheduler: Handler?,
7 flags: Int
8) {
9 context.registerReceiver(receiver, filter, broadcastPermission, scheduler)
10}