Manifest Registrerede Broadcast-hensigter er begrænset til kun nogle få i Android Oreo, og ACTION_SHUTDOWN er ikke en af dem, eller er det?
Android bruger broadcast hensigter til mange ting. App-udviklere kan lytte efter, at de udfører visse handlinger, såsom når MEDIA_MOUNTED-udsendelsen har til hensigt, at applikationer skal vide, hvornår et SD-kort er blevet monteret som lager. Som app-udvikler kan du programmere broadcast-modtagere til dette, og derefter kalde en funktion, når der er monteret medie, for eksempel for at ændre appens standardlagerbibliotek til SD-kortet. Denne slags ting er, hvad udsendelseshensigter bruges til. De bruges for det meste til at udsende bestemte systembegivenheder til alle applikationer, der kan have brug for disse oplysninger. Broadcast-modtagere skal enten være registreret i Android Manifest-filen eller programmatisk, når de er i forgrunden.
På grund af en overflod af hukommelsesstøj forårsaget af mange forskellige udviklere, der implementerer alle slags udsendelser modtagere til hyppigt affyrende hensigter, besluttede Google at begrænse adgangen til de fleste af disse udsendelseshensigter i Android 8.0 Oreo. Virksomheden erkendte dog, at der var et par vigtige udsendelseshensigter, som er i orden stadig lyttes efter, da de ikke forekommer så ofte og derfor har ringe chance for at forårsage hukommelse problemer. De
udgivet en hvidliste over implicit udsendelse hensigter, som Android-applikationer stadig kan lytte efter ved at registrere broadcast-modtagere i Android-manifestet. Dette er en omfattende liste og dækker stort set alt, hvad du som app-udvikler kan få brug for, med én undtagelse.Det ser ud til, at Google ikke har angivet en udsendelseshensigt, der bruges af mange applikationer. Dette er ACTION_SHUTDOWN udsendelseshensigt. Denne hensigt sendes, når enheden lukker ned, hvilket kan være meget vigtigt for app-udviklere, så de hurtigt kan afvikle, hvad appen gør, før processen afbrydes. På trods af denne udsendelseshensigt ikke vises på listen over hvidlistede hensigter, applikationer kan faktisk stadig lytte efter det via en Manifest-registreret udsendelsesmodtager ifølge en forpligtelse på Android Git, bare Google glemte at inkludere det på deres liste.
Det er fantastisk, at det faktisk er hvidlistet, da Google fjerner muligheden fra applikationer til at registrere, hvornår enheden lukker ned ville være dårligt for både brugere og app-udviklere, da nogle applikationer ikke længere ville være i stand til hurtigt at gemme arbejde før en enhedslukning. Vi er ikke helt sikre på, hvorfor denne udsendelseshensigt ikke er opført på Googles side for udviklere, men vi talte med en veteran Android-udvikler CommonsWare og han er enig i, at det sandsynligvis er en simpel dokumentationsfejl fra Googles side. Det ville ifølge ham ikke være første gang, det er sket.