Manifest Registered Broadcast-intenties zijn beperkt tot slechts enkele in Android Oreo, en ACTION_SHUTDOWN is daar niet een van, of toch wel?
Android gebruikt voor veel dingen uitzendintenties. App-ontwikkelaars kunnen luisteren of ze bepaalde acties uitvoeren, zoals wanneer de MEDIA_MOUNTED-uitzending de bedoeling heeft dat applicaties weten wanneer een SD-kaart als opslag is gekoppeld. Als app-ontwikkelaar kunt u hiervoor uitzendingsontvangers programmeren en vervolgens een functie aanroepen wanneer media worden aangekoppeld, bijvoorbeeld om de standaardopslagmap van de app te wijzigen in de SD-kaart. Voor dit soort dingen worden uitzendintenties gebruikt. Ze worden meestal gebruikt om bepaalde systeemgebeurtenissen uit te zenden naar alle toepassingen die deze informatie mogelijk nodig hebben. Omroepontvangers moeten worden geregistreerd in het Android Manifest-bestand of programmatisch op de voorgrond.
Vanwege een overvloed aan geheugenverlies veroorzaakt door veel verschillende ontwikkelaars die allerlei soorten uitzendingen implementeren ontvangers voor frequente uitzendintenties, heeft Google besloten de toegang tot de meeste van deze uitzendintenties in Android te beperken 8.0 Oreo. Het bedrijf erkende echter dat er een aantal belangrijke uitzendintenties waren die goed waren er moet nog steeds naar worden geluisterd, omdat ze niet zo vaak voorkomen en dus weinig kans hebben om geheugen te veroorzaken problemen. Zij
publiceerde een witte lijst van impliciete uitzendingen bedoelingen waar Android-applicaties nog steeds naar kunnen luisteren door uitzendingsontvangers te registreren in het Android-manifest. Dit is een uitgebreide lijst en omvat zo ongeveer alles wat u als app-ontwikkelaar nodig heeft, op één uitzondering na.Het lijkt erop dat Google geen uitzendintentie heeft vermeld die door veel applicaties wordt gebruikt. Dit is de ACTION_SHUTDOWN bedoeling van de uitzending. Deze intentie wordt verzonden wanneer het apparaat wordt afgesloten, wat erg belangrijk kan zijn voor app-ontwikkelaars, zodat ze snel kunnen afbouwen wat de app doet voordat het proces wordt beëindigd. Ondanks dat deze uitzendintentie niet voorkomt in de lijst met op de witte lijst geplaatste intenties, toepassingen kan luister er in feite nog steeds naar via een Manifest-geregistreerde uitzendontvanger volgens een toezegging op de Android Git vergat alleen Google het in hun lijst op te nemen.
Het is geweldig dat het daadwerkelijk op de witte lijst staat, omdat Google de mogelijkheid van applicaties om te detecteren wanneer het apparaat wordt uitgeschakeld, heeft verwijderd zou slecht zijn voor zowel gebruikers als app-ontwikkelaars, omdat sommige applicaties niet langer snel werk zouden kunnen opslaan voordat het apparaat wordt uitgeschakeld. We weten niet helemaal zeker waarom deze uitzendintentie niet wordt vermeld op de Google-pagina voor ontwikkelaars, maar we hebben gesproken met een ervaren Android-ontwikkelaar CommonsWare en hij is het ermee eens dat het waarschijnlijk een simpele documentatiefout van Google is. Het zou volgens hem niet de eerste keer zijn dat dit gebeurt.