V jakých případech je registrace Broadcast Receiver v Android manifestu nepřípustná?
sobes.tech AI
Odpověď od AI
Registrace Broadcast Receiver v manifestu Androidu není v následujících případech povolena:
-
Pro dynamické nebo soukromé události: Pokud má přijímač reagovat pouze na události, ke kterým dochází uvnitř aplikace, nebo na události, které by neměly být dostupné jiným aplikacím, je lepší jej zaregistrovat programově (dynamicky) pomocí
registerReceiver()v kódu. -
Pro některé systémové události v nových verzích Androidu: Od Androidu 8.0 (API 26) nelze registrovat mnoho systémových broadcast zpráv (například
ACTION_NEW_PICTURE,ACTION_NEW_SMS) v manifestu, aby se snížila zátěž systému a zvýšila bezpečnost. V takových případech je třeba přijímače registrovat dynamicky. -
Pokud je potřeba kontrola životního cyklu: Registrace v manifestu způsobí, že přijímač je aktivní neustále, což může vést k zbytečné spotřebě zdrojů. Pokud má přijímač fungovat pouze v určitých časech (například když je aktivní aktivita), je třeba jej zaregistrovat dynamicky.
Proto registrace v manifestu není vhodná nebo efektivní pro události, které mají být zpracovávány pouze při aktivním stavu aplikace nebo pro systémové události, které jsou v nových verzích Androidu zakázány pro statickou registraci.