Milyen esetekben nem megengedett a Broadcast Receiver regisztrálása az Android manifestben?
sobes.tech MI
Válasz az MI-től
Az Android manifestben történő Broadcast Receiver regisztráció nem megengedett a következő esetekben:
-
Dinamikus vagy privát eseményekhez: Ha a fogadó csak az alkalmazáson belüli eseményekre kell reagáljon, vagy olyan eseményekre, amelyek nem érhetők el más alkalmazások számára, akkor jobb, ha programozottan (dinamikusan) regisztráljuk a
registerReceiver()segítségével a kódban. -
Néhány rendszeresemény esetén az új Android verziókban: Android 8.0-tól (API 26) kezdve sok rendszerüzenet (például
ACTION_NEW_PICTURE,ACTION_NEW_SMS) nem regisztrálható a manifestben a rendszer terhelésének csökkentése és a biztonság növelése érdekében. Ilyen esetekben a fogadókat dinamikusan kell regisztrálni. -
Ha életciklus-ellenőrzés szükséges: A manifestben történő regisztráció miatt a fogadó folyamatosan aktív marad, ami szükségtelen erőforrás-felhasználáshoz vezethet. Ha csak bizonyos időpontokban (pl. amikor egy aktivitás aktív) kell működnie, akkor dinamikus regisztrációt kell alkalmazni.
Ezért a manifestben történő regisztráció nem megengedett vagy nem hatékony olyan események esetén, amelyeket csak az alkalmazás aktív állapotában kell feldolgozni, vagy olyan rendszereseményeknél, amelyek a legújabb Android-verziókban tiltottak a statikus regisztrációra.