Dokumentatsiooniviga: registreeritud ringhäälingu vastuvõtjad saavad operatsioonisüsteemis Android 8.0 ACTION_SHUTDOWN kavatsused

Manifested Registered Broadcast kavatsused on Android Oreos piiratud vaid mõnega ja ACTION_SHUTDOWN pole üks neist või on?

Android kasutab paljude asjade jaoks leviedastusi. Rakenduste arendajad saavad kuulata, kuidas nad teevad teatud toiminguid, näiteks kui MEDIA_MOUNTED leviedastuse eesmärk on rakenduste jaoks teada saada, millal SD-kaart on salvestusruumina ühendatud. Rakenduse arendajana saate programmeerida selleks edastusvastuvõtjaid ja seejärel helistada funktsioonile alati, kui meedium on ühendatud, näiteks rakenduse vaikesalvestuskataloogi muutmiseks SD-kaardile. Selliste asjade jaoks kasutatakse saatekavasid. Neid kasutatakse enamasti teatud süsteemisündmuste edastamiseks rakendustele, mis võivad seda teavet vajada. Ringhäälingu vastuvõtjad peavad olema registreeritud Androidi manifesti failis või esiplaanil programmiliselt.

Kuna paljud erinevad arendajad rakendavad igasuguseid ülekandeid, on palju mälu vastuvõtjaid sageli käivitavate kavatsuste jaoks, otsustas Google piirata Androidis juurdepääsu enamikule nendest levieesmärkidest 8.0 Oreo. Ettevõte tunnistas siiski, et on paar olulist leviedastuse kavatsust, mis sobivad neid tuleb siiski kuulata, kuna neid ei esine nii sageli ja seega on neil vähe võimalusi mälu tekitamiseks probleeme. Nad 

avaldas kaudsete saadete valge nimekirja kavatsused, mida Androidi rakendused saavad endiselt kuulata, registreerides saatevastuvõtjad Androidi manifestis. See on ulatuslik loend ja hõlmab peaaegu kõike, mida rakenduse arendajana vajate, välja arvatud üks erand.

Näib, et Google ei loetlenud leviedastuse eesmärki, mida paljud rakendused kasutavad. See on ACTION_SHUTDOWN saatekavatsus. See kavatsus saadetakse seadme väljalülitamisel, mis võib olla rakenduste arendajatele väga oluline, et nad saaksid rakenduse tegevuse kiiresti lõpetada, enne kui protsess lõpeb. Vaatamata sellele, et seda leviedastust ei kuvata lubatud loendisse kantud kavatsuste loendis, rakendused saab tegelikult kuulake seda ikkagi manifesti registreeritud saatevastuvõtja kaudu kohustuse järgi Android Gitis unustas Google selle oma loendisse lisada.

See on suurepärane, et see on tegelikult lubatud loendisse, kuna Google eemaldab rakendustelt võimaluse tuvastada, millal seade välja lülitub oleks halb nii kasutajatele kui ka rakenduste arendajatele, kuna mõned rakendused ei saaks enam enne seadme väljalülitamist tööd kiiresti salvestada. Me ei ole täiesti kindlad, miks see leviedastuse eesmärk pole Google'i arendajate lehel loetletud, kuid me rääkisime Androidi veteran arendajaga CommonsWare ja ta nõustub, et tõenäoliselt on see Google'i lihtne dokumentatsiooniviga. Tema sõnul poleks see esimene kord, kui see juhtub.