„Android 11“ įdiegia pakeitimą, kuris neleis trečiųjų šalių fotoaparatų programoms rodyti vaizdo / vaizdo įrašo pasirinkimo veiksmuose.
1 atnaujinimas (2020-08-20 18:15 ET): „Google“ atnaujino kūrėjo dokumentus, kad paaiškintų, kodėl trečiųjų šalių fotoaparatų programos „Android 11“ negali reaguoti į numanomus vaizdo / vaizdo įrašo ketinimo veiksmus. Norėdami gauti daugiau informacijos, slinkite į apačią. Straipsnis, paskelbtas 2020 m. rugpjūčio 19 d., išsaugomas žemiau.
„Android 11“ keičia programų sąveiką su trečiųjų šalių fotoaparatų programos jūsų įrenginyje, todėl jie nebus rodomi vaizdų / vaizdo įrašų pasirinkimo tikslais. Senesnėse „Android“ versijose, jei programa nori leisti naudotojams užfiksuoti vaizdą, ji gali fotografuoti programoje (naudojant įvairias „Android“ fotoaparato API) arba gali siųsti ketinimą, kurį gali apdoroti tam skirta fotoaparato programa, kad būtų užfiksuotas vaizdas vietoj to. Jei programa nusprendžia pasirinkti pastarąją parinktį, senesnių „Android“ leidimų naudotojams pateikiamas išaiškinimo dialogo langas, kuriame jie gali pasirinkti fotoaparato programą, skirtą vaizdui užfiksuoti. Dialogo lange paprastai rodomos visos naudotojo įrenginyje įdiegtos fotoaparato programos, įskaitant trečiųjų šalių fotoaparatų programas, jei jos parašytos taip, kad atitiktų tam tikrus tikslus. Tačiau naudojant „Android 11“, dialogo langas apims tik iš anksto įdiegtas fotoaparatų programas, nebent kūrėjai konkrečiai taikytų tam tikras trečiųjų šalių fotoaparatų programas.
Šis pakeitimas iš esmės reiškia, kad daugeliu atvejų vartotojai, norėdami fotografuoti, turės rankiniu būdu paleisti trečiųjų šalių fotoaparatų programas, todėl trečiųjų šalių fotoaparatų programas bus mažiau patogu naudoti. Tai taip pat privers vartotojus kaltinti trečiųjų šalių fotoaparatų programų kūrėjus, kai vartotojas sužinos, kad jo mėgstamos fotoaparato programos nebegalima paleisti iš kitų programų. „Google“ įgyvendina šį pakeitimą „Android 11“, neleisdama trečiųjų šalių fotoaparatų programoms reaguoti į toliau nurodytus veiksmus.
android.media.action.VIDEO_CAPTURE
android.media.action.IMAGE_CAPTURE
android.media.action.IMAGE_CAPTURE_SECURE
Google sako kad šis pakeitimas buvo įdiegtas „Android 11“, siekiant apsaugoti naudotojų privatumą ir saugumą. Bendrovė nepaaiškina, kaip tai padaryti, tačiau tikėtina, kad kai kurios kenkėjiškos programos apsimetė fotoaparatų programomis, kad gautų prieigą prie vartotojo nuotraukų. Tačiau bendrovė paminėjo kūrėjams skirtą sprendimą, kuris leis programoms vis tiek paleisti trečiųjų šalių fotoaparatų programas. Sprendimas iš esmės reikalauja, kad kūrėjai, siųsdami ketinimą, nukreiptų į konkrečią pasirinktą trečiosios šalies programą. Pavyzdžiui, dokumentų skaitytuvo programos kūrėjas gali nusiųsti aiškų ketinimą paleisti „Adobe Photoshop“ fotoaparatas užuot siuntęs numanomą ketinimą atidaryti fotoaparato rinkiklį. „Android 11“ leidžia kūrėjams net pateikti užklausų sąrašo programų, kurios gali atsakyti į 3 pirmiau minėtus tyčiniai veiksmai, o tai reiškia, kad kūrėjas turės iš anksto žinoti, kurias trečiosios šalies fotoaparatų programas nori naudoti parama.
Šaltinis: CommonsWare, Android kūrėjai
Per: Reddit
Ačiū XDA vyresniajam nariui AndroidDeveloperLB už patarimą!
1 naujinimas: „Google“ teigia, kad šis pakeitimas yra skirtas privatumui išlaikyti
„Google“ atnaujino „Android 11“ elgsenos pokyčių puslapį su nauja informacija apie „medijos tikslams atlikti reikia sistemos numatytosios kameros“ skyrių (per The Verge). „Google“ paaiškina, kad pakeitimas yra „sukurtas siekiant užtikrinti, kad EXIF vietos metaduomenys būtų tinkamai apdoroti, remiantis vietos leidimais, apibrėžtais programa siunčia ketinimą. turėti buvo suteikta prieiga prie vietos, o gautoje nuotraukoje, kuri perduodama programai, gali būti EXIF vieta metaduomenis, tada skambinanti programa gali apeiti prieigos prie vietos užklausą nuskaitydama vietos duomenis iš nuotrauka. Jei programa bando tai padaryti „Android 11“, ji turės deklaruoti ACCESS_MEDIA_LOCATION
taip pat ACCESS_COARSE_LOCATION
arba ACCESS_FINE_LOCATION
leidimus, kad būtų galima skaityti EXIF vietos metaduomenis. (Pastebėtina, „Google“ uždarė dar vieną prieigos prie vietos spragą „Android 10“, reikalaudami, kad programos pateiktų užklausą ACCESS_MEDIA_LOCATION
leidimas, jei programa bando iš nuotraukų nuskaityti neredaguotus EXIF metaduomenis.)
Nors šis elgesio pakeitimas turės įtakos programų galimybei paleisti vartotojo nustatytą numatytąją fotoaparato programą, nes jos senos ir dažnai naudojamos 3 „Google“ pažymi, kad pakeitimas neturi įtakos visiems tikslo veiksmams, kurie gali paleisti vartotojo nustatytą numatytąją fotoaparato programą, pvz., kaip: android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA
, android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE
, arba android.provider.MediaStore.INTENT_ACTION_VIDEO_CAMERA
. Tačiau šie tikslai nėra skirti tam pačiam tikslui, nes jie tik paleidžia numatytąją fotoaparato programą, o ne leidžia siųsti vaizdą atgal į skambinančią programą.