I donโt understand if it needs to be notified. If this is true, can the application call my receiver with these actions? Therefore, if I make it false the system can send actions to my receiver?
Actually, other applications cannot "call your receiver". Other applications may simply send Intent s broadcast messages. Then the system will call all registered recipients.
In general, you should not worry about this. Most of these Intent broadcasts are protected, so in any case they can be broadcast only system applications. For example, an attempt by another application to broadcast BOOT_COMPLETED simply ignored. What happens if your BroadcastReceiver is launched by a rogue application because it passes CONNECTIVITY_CHANGE ? Probably nothing, because your application should check the real connection status in onReceive() in any case, and if there are no changes, you can simply ignore it.
In addition, you do not need to specify android:enabled="true" , because this is the default state. You also don't need to specify android:exported="true" because you have an <intent-filter> attached to your <receiver> that automatically sets android:exported to true .
source share