In welke gevallen is registratie van een Broadcast Receiver in het Android-manifest niet toegestaan?
sobes.tech AI
Antwoord van AI
Registratie van Broadcast Receiver in de Android-manifest is niet toegestaan in de volgende gevallen:
-
Voor dynamische of privégebeurtenissen: Als de ontvanger alleen moet reageren op gebeurtenissen die binnen de app plaatsvinden, of op gebeurtenissen die niet toegankelijk mogen zijn voor andere apps, is het beter om deze programmatisch (dynamisch) te registreren via
registerReceiver()in de code. -
Voor sommige systeemgebeurtenissen in nieuwe Android-versies: Vanaf Android 8.0 (API 26) kunnen veel systeem-broadcastberichten (bijvoorbeeld
ACTION_NEW_PICTURE,ACTION_NEW_SMS) niet in het manifest worden geregistreerd om de belasting op het systeem te verminderen en de veiligheid te verhogen. In dergelijke gevallen moeten ontvangers dynamisch worden geregistreerd. -
Als controle van de levenscyclus nodig is: Registratie in het manifest houdt de ontvanger permanent actief, wat kan leiden tot onnodig resourcegebruik. Als de ontvanger alleen op bepaalde tijden moet werken (bijvoorbeeld wanneer een activiteit actief is), moet de registratie dynamisch worden gedaan.
Daarom is registratie in het manifest niet toegestaan of niet efficiënt voor gebeurtenissen die alleen moeten worden verwerkt wanneer de app actief is of voor systeemgebeurtenissen die in nieuwe Android-versies verboden zijn voor statische registratie.