V ktorých prípadoch je registrácia Broadcast Receiver v Android manifeste neprípustná?
sobes.tech AI
Odpoveď od AI
Registrácia Broadcast Receivera v manifeste Androidu nie je povolená v nasledujúcich prípadoch:
-
Pre dynamické alebo súkromné udalosti: Ak má prijímač reagovať iba na udalosti, ktoré sa dejú v rámci aplikácie, alebo na udalosti, ktoré nemajú byť dostupné iným aplikáciám, je lepšie ho zaregistrovať programovo (dynamicky) pomocou
registerReceiver()v kóde. -
Pre niektoré systémové udalosti v nových verziách Androidu: Od Androidu 8.0 (API 26) nemôžu byť mnohé systémové broadcast správy (napríklad
ACTION_NEW_PICTURE,ACTION_NEW_SMS) registrované v manifeste, aby sa znížila záťaž na systém a zvýšila bezpečnosť. V takých prípadoch je potrebné ich dynamicky registrovať. -
Ak je potrebná kontrola životného cyklu: Registrácia v manifeste spôsobí, že prijímač je neustále aktívny, čo môže viesť k zbytočnému využívaniu zdrojov. Ak má prijímač fungovať iba v určitých časoch (napríklad, keď je aktívna aktivita), je potrebné ho zaregistrovať dynamicky.
Preto registrácia v manifeste nie je povolená alebo nie je efektívna pre udalosti, ktoré sa majú spracovávať iba pri aktívnom stave aplikácie alebo pre systémové udalosti, ktoré sú v nových verziách Androidu zakázané pre statickú registráciu.