Napaka v dokumentaciji: manifestirani registrirani oddajni sprejemniki prejemajo namene ACTION_SHUTDOWN v sistemu Android 8.0

Nameni manifestiranega registriranega oddajanja so v sistemu Android Oreo omejeni na le nekaj in ACTION_SHUTDOWN ni eden izmed njih, ali pač?

Android uporablja namene oddajanja za veliko stvari. Razvijalci aplikacij jih lahko poslušajo, da izvedejo določena dejanja, na primer ko MEDIA_MOUNTED oddaja namero, da aplikacije vedo, kdaj je bila kartica SD nameščena kot shramba. Kot razvijalec aplikacije lahko programirate oddajne sprejemnike za to, nato pa pokličete funkcijo vsakič, ko je medij nameščen, na primer, da spremenite privzeti imenik za shranjevanje aplikacije na kartico SD. Za to se uporabljajo nameni oddajanja. Večinoma se uporabljajo za oddajanje določenih sistemskih dogodkov vsem aplikacijam, ki morda potrebujejo te informacije. Oddajni sprejemniki morajo biti registrirani v datoteki manifesta Android ali programsko, ko so v ospredju.

Zaradi obilice razbijanja pomnilnika, ki ga povzroča veliko različnih razvijalcev, ki izvajajo vse vrste oddajanja sprejemniki za pogosto sprožanje namenov, se je Google odločil omejiti dostop do večine teh namenov oddajanja v sistemu Android 8.0 Oreo. Vendar je podjetje priznalo, da obstaja nekaj pomembnih namenov oddajanja, ki so v redu vseeno poslušati, saj se ne pojavljajo tako pogosto in imajo zato malo možnosti, da povzročijo spomin vprašanja. Oni 

objavil dovoljeni seznam implicitnega oddajanja namere, ki jih lahko aplikacije Android še vedno poslušajo z registracijo oddajnih sprejemnikov v manifestu Android. To je obsežen seznam in zajema skoraj vse, kar potrebujete kot razvijalec aplikacij, z eno izjemo.

Zdi se, da Google ni navedel namena oddajanja, ki ga uporabljajo številne aplikacije. To je ACTION_SHUTDOWN namen oddajanja. Ta namera je poslana, ko se naprava izklopi, kar je lahko zelo pomembno za razvijalce aplikacij, da lahko hitro prekinejo vse, kar aplikacija počne, preden se postopek prekine. Kljub temu, da ta namen oddajanja ni prikazan na seznamu namer dovoljenega seznama, aplikacije lahko pravzaprav ga še vedno poslušate prek oddajnega sprejemnika, registriranega v Manifestu glede na zavezo na Android Git, samo Google ga je pozabil vključiti na svoj seznam.

To je super, da je dejansko na seznamu dovoljenih, saj Google odstranjuje zmožnost aplikacij za zaznavanje, ko se naprava izklopi slabo za uporabnike in razvijalce aplikacij, saj nekatere aplikacije ne bi mogle več hitro shraniti dela pred zaustavitvijo naprave. Nismo povsem prepričani, zakaj ta namen oddajanja ni naveden na Googlovi strani za razvijalce, vendar smo govorili z veteranom razvijalcem za Android CommonsWare in se strinja, da gre verjetno za preprosto napako v dokumentaciji s strani Googla. Po njegovih besedah ​​se to ne bi zgodilo prvič.