[Ažuriranje: više detalja] Android 11 blokira aplikacije kamera trećih strana da se pojave u namjerama odabira slike/videozapisa

click fraud protection

Android 11 implementira promjenu koja će spriječiti pojavljivanje aplikacija kamera trećih strana u radnjama namjere odabira slike/videozapisa.

Ažuriranje 1 (20.8.2020. @ 18:15 ET): Google je ažurirao svoju dokumentaciju za razvojne programere kako bi objasnio zašto aplikacije kamera trećih strana na Androidu 11 ne mogu odgovoriti na implicitne radnje slikovnih/videozapisa. Pomaknite se do dna za više informacija. Članak objavljen 19. kolovoza 2020. sačuvan je u nastavku.

Android 11 mijenja način na koji aplikacije komuniciraju aplikacije za kamere trećih strana na vašem uređaju, što će spriječiti njihovo pojavljivanje u namjerama odabira slike/videozapisa. U starijim verzijama Androida, ako aplikacija želi omogućiti korisnicima snimanje slike, može implementirati snimanje fotografija unutar aplikacije (koristeći Androidove različite API-je za kameru) ili može poslati namjeru koju može obraditi posebna aplikacija za kameru za snimanje slike umjesto toga. Ako aplikacija odluči koristiti potonju opciju, korisnicima na starijim izdanjima Androida prikazuje se dijaloški okvir za razjašnjenje kako bi odabrali aplikaciju kamere po svom izboru za snimanje slike. Dijaloški okvir općenito prikazuje sve aplikacije kamere instalirane na uređaju korisnika, uključujući aplikacije kamere trećih strana, sve dok su napisane da odgovaraju određenim namjerama. Međutim, s Androidom 11, dijaloški okvir će uključivati ​​samo unaprijed instalirane standardne aplikacije kamere, osim ako programeri posebno ne ciljaju određene aplikacije kamere trećih strana.

Promjena zapravo znači da će, u većini slučajeva, korisnici morati ručno pokrenuti aplikacije za kameru trećih strana kada žele snimiti fotografiju, čineći aplikacije kamera trećih strana manje praktičnima za korištenje. Također će natjerati korisnike da krive programere aplikacija za kameru trećih strana kada korisnik otkrije da se njihova omiljena aplikacija za kameru više ne može pokrenuti iz drugih aplikacija. Google implementira ovu promjenu u Androidu 11 sprječavajući aplikacije kamere trećih strana da reagiraju na sljedeće radnje namjere:

  • android.media.action.VIDEO_CAPTURE
  • android.media.action.IMAGE_CAPTURE
  • android.media.action.IMAGE_CAPTURE_SECURE

Google kaže da je ova promjena postavljena u Androidu 11 radi zaštite privatnosti i sigurnosti njegovih korisnika. Tvrtka ne objašnjava kako, ali je vjerojatno da su se neke zlonamjerne aplikacije maskirale u aplikacije za kamere kako bi dobile pristup fotografijama korisnika. Međutim, tvrtka spominje zaobilazno rješenje za programere koje će omogućiti aplikacijama da i dalje pokreću aplikacije kamera trećih strana. Zaobilazno rješenje u biti zahtijeva od programera da prilikom slanja namjere ciljaju na određenu aplikaciju treće strane po vlastitom izboru. Na primjer, razvojni programer aplikacije za skeniranje dokumenata može poslati eksplicitnu namjeru pokretanja Adobe Photoshop kamera umjesto slanja implicitne namjere da se otvori birač kamere. Android 11 čini to tako da programeri ne mogu čak ni ispitivati ​​popis aplikacija koje mogu odgovoriti na 3 gore navedene radnje namjere, što znači da će programer morati unaprijed znati koje aplikacije kamere treće strane želi podrška.

Izvor: CommonsWare, Android programeri

Preko: Reddit

Hvala starijem članu XDA AndroidDeveloperLB za napojnicu!

Ažuriranje 1: Google kaže da je ova promjena radi očuvanja privatnosti

Google je ažurirao svoju stranicu s promjenama ponašanja za Android 11 novim informacijama o "radnje medijske namjere zahtijevaju zadanu kameru sustava" odjeljak (putem The Verge). Promjena je, objašnjava Google, "osmišljena kako bi osigurala da su EXIF ​​metapodaci o lokaciji ispravno obrađeni na temelju dozvola za lokaciju definiranih unutar aplikacija koja šalje namjeru." U osnovi, Google je zabrinut da aplikacije kojima još nije odobren izričit pristup lokaciji tjeraju korisnike da otvaraju aplikacije kamere koje imati odobren pristup lokaciji, a budući da rezultirajuća fotografija koja se prosljeđuje aplikaciji može sadržavati EXIF ​​lokaciju metapodatke, tada aplikacija koja poziva može zaobići zahtjeve za pristup lokaciji čitanjem podataka o lokaciji iz fotografija. Ako aplikacija to pokuša učiniti u Androidu 11, morat će se prijaviti ACCESS_MEDIA_LOCATION kao i ACCESS_COARSE_LOCATION ili ACCESS_FINE_LOCATION dopuštenja za čitanje EXIF ​​metapodataka o lokaciji. (Napomena, Google je zatvorio još jednu rupu u pristupu lokaciji u Androidu 10 zahtijevanjem aplikacija zahtijevaju ACCESS_MEDIA_LOCATION dopuštenje ako aplikacija pokuša dohvatiti neredigirane EXIF ​​metapodatke iz fotografija.)

Iako će ova promjena ponašanja utjecati na mogućnost aplikacija da pokreću korisnički definiranu zadanu aplikaciju kamere zbog toga koliko je stara i često korištena 3 prethodno spomenute radnje namjere, Google napominje da promjena ne utječe na sve radnje namjere koje mogu pokrenuti korisnički definiranu zadanu aplikaciju kamere, kao kao: android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA, android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE, ili android.provider.MediaStore.INTENT_ACTION_VIDEO_CAMERA. Međutim, te namjere nemaju istu svrhu jer pokreću samo zadanu aplikaciju kamere, a ne dopuštaju slanje slike natrag u aplikaciju koja poziva.