Millistel juhtudel on Android manifestis Broadcast Receiver registreerimine keelatud?
sobes.tech AI
Vastus AI-lt
Androidi manifestis Broadcast Receiver registreerimine ei ole lubatud järgmistes olukordades:
-
Dünaamiliste või privaatsete sündmuste jaoks: Kui vastuvõtja peaks reageerima ainult rakenduse sees toimuvatele sündmustele või sündmustele, mis ei peaks olema teistele rakendustele kättesaadavad, on parem registreerida see programmatiselt (dünaamiliselt)
registerReceiver()abil koodis. -
Mõnede süsteemsündmuste jaoks uutes Androidi versioonides: Alates Android 8.0-st (API 26) ei saa paljusid süsteemseid levitusi (näiteks
ACTION_NEW_PICTURE,ACTION_NEW_SMS) registreerida manifestis, et vähendada süsteemi koormust ja suurendada turvalisust. Sellistel juhtudel tuleb vastuvõtjad registreerida dünaamiliselt. -
Kui on vaja elutsükli kontrolli: Manifestis registreerimine jätab vastuvõtja pidevalt aktiivseks, mis võib põhjustada tarbetut ressursside kasutamist. Kui vastuvõtja peaks töötama ainult teatud ajal (näiteks, kui aktiivsus on aktiivne), tuleb see registreerida dünaamiliselt.
Seetõttu ei ole manifestis registreerimine lubatud või tõhus olukordades, kus sündmusi tuleb töödelda ainult rakenduse aktiivse oleku ajal või süsteemseid sündmusi, mis on uutes Androidi versioonides keelatud staatilisele registreerimisele.