[Actualizare: Mai multe detalii] Android 11 blochează apariția aplicațiilor de cameră terță parte în intențiile de selectare a imaginilor/videoclipurilor

click fraud protection

Android 11 implementează o modificare care va împiedica apariția aplicațiilor de cameră terță parte în acțiunile cu intenția de alegere a imaginilor/videoclipurilor.

Actualizare 1 (20.08.2020 la 18:15 ET): Google și-a actualizat documentația pentru dezvoltatori pentru a explica de ce aplicațiile de cameră terță parte de pe Android 11 nu pot răspunde la acțiunile implicite de intenție de imagine/video. Derulați în jos pentru mai multe informații. Articolul publicat pe 19 august 2020 este păstrat mai jos.

Android 11 schimbă modul în care aplicațiile interacționează aplicații pentru camere de la terțe părți pe dispozitivul dvs., ceea ce le va împiedica să apară în intențiile de alegere a imaginilor/videoclipurilor. În versiunile mai vechi de Android, dacă o aplicație dorește să permită utilizatorilor să captureze o imagine, poate implementa realizarea de fotografii în cadrul aplicației (folosind diferitele API-uri ale camerei Android) sau poate trimite o intenție care poate fi gestionată de o aplicație dedicată pentru cameră pentru a captura imaginea in schimb. Dacă o aplicație decide să meargă cu cea de-a doua opțiune, utilizatorilor de versiuni mai vechi Android li se prezintă un dialog de dezambiguizare pentru a selecta aplicația pentru cameră la alegerea lor pentru a captura imaginea. Fereastra de dialog afișează, în general, toate aplicațiile camerei instalate pe dispozitivul utilizatorului, inclusiv aplicațiile camerei terță parte, atâta timp cât sunt scrise pentru a răspunde la anumite intenții. Cu toate acestea, cu Android 11, caseta de dialog va include numai aplicații de cameră preinstalate, cu excepția cazului în care dezvoltatorii vizează în mod special anumite aplicații de cameră terță parte.

Schimbarea înseamnă efectiv că, în cele mai multe cazuri, utilizatorii vor trebui să lanseze manual aplicații de cameră terță parte atunci când doresc să facă o fotografie, făcând aplicațiile de cameră terță parte mai puțin convenabil de utilizat. De asemenea, utilizatorii vor da vina pe dezvoltatorii de aplicații de cameră terțe atunci când utilizatorul află că aplicația lor preferată nu mai poate fi lansată din alte aplicații. Google implementează această modificare în Android 11, împiedicând aplicațiile de cameră terță parte să răspundă la următoarele acțiuni de intenție:

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

spune Google că această modificare a fost pusă în aplicare în Android 11 pentru a proteja confidențialitatea și securitatea utilizatorilor săi. Compania nu detaliază cum, dar este probabil ca unele aplicații rău intenționate să se fi prefacut drept aplicații pentru cameră pentru a avea acces la fotografiile unui utilizator. Cu toate acestea, compania menționează o soluție pentru dezvoltatori care va permite aplicațiilor să lanseze în continuare aplicații de cameră terță parte. Soluția necesită, în esență, dezvoltatorilor să vizeze o anumită aplicație terță parte la alegerea lor atunci când trimit o intenție. De exemplu, dezvoltatorul unei aplicații de scanare de documente poate trimite o intenție explicită de lansare Aparat foto Adobe Photoshop mai degrabă decât să trimită o intenție implicită de a deschide selectorul camerei. Android 11 face ca dezvoltatorii să nu poată interoga nici măcar lista de aplicații care pot răspunde la cele 3 menționate mai sus acțiuni de intenție, ceea ce înseamnă că un dezvoltator va trebui să știe în avans ce aplicații de cameră terță parte dorește a sustine.

Sursă: CommonsWare, Dezvoltatori Android

Prin intermediul: Reddit

Mulțumim membrului senior XDA AndroidDeveloperLB pentru pont!

Actualizare 1: Google spune că această modificare este pentru a menține confidențialitatea

Google și-a actualizat pagina de modificări ale comportamentului Android 11 cu informații noi despre „Acțiunile de intenție media necesită o cameră implicită de sistemsecțiunea " (via The Verge). Schimbarea, explică Google, este „proiectată pentru a se asigura că metadatele de locație EXIF ​​sunt procesate corect pe baza permisiunilor de locație definite în aplicația trimite intenția.” În principiu, Google este îngrijorat de faptul că aplicațiile cărora nu li s-a acordat încă acces explicit la locație îi determină pe utilizatori să deschidă aplicații pentru cameră care avea a primit acces la locație și, deoarece fotografia rezultată care este transmisă aplicației poate conține locație EXIF metadate, apoi aplicația de apelare poate ocoli solicitarea de acces la locație citind datele despre locație din fotografie. Dacă o aplicație încearcă să facă acest lucru în Android 11, va trebui să declare ACCESS_MEDIA_LOCATION precum și ACCESS_COARSE_LOCATION sau ACCESS_FINE_LOCATION permisiuni pentru a citi metadatele de locație EXIF. (De notat, Google a închis o altă lacună pentru accesul la locație în Android 10, solicitând aplicațiile să solicite ACCESS_MEDIA_LOCATION permisiunea dacă o aplicație încearcă să recupereze metadate EXIF ​​neredactate din fotografii.)

În timp ce această schimbare de comportament va afecta capacitatea aplicațiilor de a lansa aplicația implicită pentru cameră definită de utilizator, din cauza vechimii și a utilizării frecvente a celor 3 Acțiunile de intenție menționate mai sus sunt, Google observă că modificarea nu afectează toate acțiunile de intenție care pot lansa aplicația de cameră implicită definită de utilizator, cum ar fi la fel de: android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA, android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE, sau android.provider.MediaStore.INTENT_ACTION_VIDEO_CAMERA. Aceste intenții nu servesc, totuși, același scop, deoarece lansează doar aplicația implicită pentru cameră, mai degrabă decât să permită ca o imagine să fie trimisă înapoi la aplicația de apelare.