BroadcastReceiver Tutorial Part 6 – BROADCAST PERMISSIONS – Android Studio Tutorial
In part 6 of the BroadcastReceiver tutorial, we will learn how to keep our broadcasts and receivers secure and avoid that malicious apps intercept them.
One way to achieve this, is by limiting the scope of apps and components that are allowed to communicate with our BroadcastReceivers or listen to our broadcasts. We have learned about these techniques in earlier parts already. We can limit a statically (manifest) registered BroadcastReceiver to our own app by setting android:exported= »false ». A dynamically registered BroadcastReceiver is always exported. When sending a broadcast, we can make the broadcast explicit, either by targeting a single app with setPackage, or a single component with a ComponentName.
If we want to keep our broadcasts and receivers open to other apps but still add a security layer, we can specify permissions that then the other app has to request with uses-permission in order to receive our broadcasts or trigger our receivers.
We can add permissions to the sendBroadcast and sendOrderedBroadcast method, to the receiver tag in the manifest file, or to the registerReceiver method. Those can be either pre-defined system permissions (like android.permission.INTERNET) or we can create our own custom permissions. Instead of normal permissions, we can also use ones with a protectionLevel of « dangerous », which means that they have to be requested at runtime and are more visible to the user.
Watch the whole playlist:
Example code for this part:
https://gist.github.com/codinginflow/bfc857a65641156043cab414c834e8f0
____________________
💻 Find the BEST programming tutorials on TutHub:
https://tuthub.io
⭐ Get my MVVM Caching Course now:
https://codinginflow.com/caching
❗ Subscribe to the channel:
https://www.youtube.com/c/codinginflo…
📨 Subscribe to the Coding in Flow newsletter:
https://codinginflow.com/newsletter
❓ Join our free developer community:
https://discord.gg/TSnMvmc
📣 Follow Coding in Flow on other sites:
Facebook: https://www.facebook.com/codinginflow
Instagram: https://www.instagram.com/codinginflow
TikTok: https://www.tiktok.com/@codinginflow
Twitter: https://twitter.com/codinginflow
Github: https://github.com/codinginflow
💰 Business requests, sponsoring, etc.: info@codinginflow.com
Views :13146
android studio