[Ажурирање: Више детаља] Андроид 11 блокира појављивање апликација за камере трећих страна у намерама одабира слика/видеа

click fraud protection

Андроид 11 имплементира промену која ће спречити да се апликације камере трећих страна појављују у радњама намере бирања слика/видеа.

Ажурирање 1 (20.08.2020. у 18:15 ЕТ): Гоогле је ажурирао своју документацију за програмере како би објаснио зашто апликације камере трећих страна на Андроиду 11 не могу да одговоре на имплицитне радње са намером слике/видеа. Померите се до дна за више информација. Чланак објављен 19. августа 2020. је сачуван у наставку.

Андроид 11 мења начин на који апликације комуницирају апликације за камеру трећих страна на вашем уређају, што ће спречити њихово појављивање у намерама за одабир слика/видеа. У старијим верзијама Андроид-а, ако апликација жели да дозволи корисницима да сниме слику, она може или да примени снимање слика у оквиру апликације (користећи различите Андроид АПИ-је за камере) или може послати намеру којом се може управљати наменском апликацијом за камеру за снимање слике уместо тога. Ако апликација одлучи да користи ову последњу опцију, корисницима на старијим верзијама Андроид-а се приказује дијалог за разјашњавање да изаберу апликацију за камеру по свом избору за снимање слике. Дијалог генерално приказује све апликације камере инсталиране на корисниковом уређају, укључујући апликације за камере независних произвођача, све док су написане да одговарају на одређене намере. Међутим, са Андроидом 11, дијалог ће укључивати само унапред инсталиране основне апликације за камере, осим ако програмери посебно циљају одређене апликације за камере треће стране.

Промена ефективно значи да ће, у већини случајева, корисници морати ручно да покрећу апликације за камеру независних произвођача када желе да сниме фотографију, што чини апликације камере трећих страна мање погодним за коришћење. Такође ће натерати кориснике да криве програмере апликација за камере трећих страна када корисник сазна да њихова омиљена апликација за камеру више не може да се покрене из других апликација. Гоогле имплементира ову промену у Андроид 11 тако што спречава апликације камере трећих страна да реагују на следеће радње намере:

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

Гугл каже да је ова промена постављена у Андроид 11 како би заштитила приватност и безбедност својих корисника. Компанија не објашњава како, али је вероватно да су се неке злонамерне апликације маскирале у апликације за камеру да би добиле приступ фотографијама корисника. Међутим, компанија помиње решење за програмере које ће омогућити апликацијама да и даље покрећу апликације за камере трећих страна. Заобилазно решење у суштини захтева од програмера да циљају одређену апликацију треће стране по свом избору када шаљу намеру. На пример, програмер апликације за скенер докумената може послати експлицитну намеру за покретање Адобе Пхотосхоп камера уместо да шаље имплицитну намеру да се отвори бирач камере. Андроид 11 чини тако да програмери не могу чак ни да траже листу апликација које могу да одговоре на 3 горепоменуте радње са намером, што значи да ће програмер морати унапред да зна које апликације камере треће стране жели да подршка.

Извор: ЦоммонсВаре, Андроид Девелоперс

преко: Реддит

Хвала старијем члану КСДА АндроидДевелоперЛБ за напојницу!

Ажурирање 1: Гоогле каже да је ова промена да би се очувала приватност

Гоогле је ажурирао своју страницу са променама понашања Андроид 11 новим информацијама о „радње медијске намере захтевају подразумевану камеру система" одељак (преко Тхе Верге). Промена је, објашњава Гоогле, „дизајнирана да осигура да се ЕКСИФ метаподаци локације правилно обрађују на основу дозвола за локацију дефинисаних у оквиру апликација која шаље намеру." У суштини, Гоогле је забринут да апликације којима још увек није одобрен експлицитан приступ локацији терају кориснике да отворе апликације за камере које имати добио је приступ локацији, а пошто резултујућа фотографија која је прослеђена апликацији може да садржи ЕКСИФ локацију метаподатака, онда апликација за позивање може заобићи захтев за приступ локацији читањем података о локацији из фото. Ако апликација покуша да то уради у Андроид-у 11, мораће да се пријави ACCESS_MEDIA_LOCATION добро као ACCESS_COARSE_LOCATION или ACCESS_FINE_LOCATION дозволе за читање ЕКСИФ метаподатака локације. (Напомена, Гоогле је затворио још једну рупу у приступу локацији у Андроиду 10 тако што се захтева да апликације захтевају ACCESS_MEDIA_LOCATION дозволу ако апликација покуша да преузме нередиговане ЕКСИФ метаподатке са фотографија.)

Иако ће ова промена понашања утицати на могућност апликација да покрећу кориснички дефинисану подразумевану апликацију за камеру због тога колико је стара и често коришћена 3 горе поменуте радње намере су, Гоогле примећује да промена не утиче на све радње намере које могу покренути кориснички дефинисану подразумевану апликацију за камеру, као што је као што: android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA, android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE, или android.provider.MediaStore.INTENT_ACTION_VIDEO_CAMERA. Међутим, ове намере не служе истој сврси, јер покрећу само подразумевану апликацију за камеру, а не дозвољавају да се слика пошаље назад у апликацију за позивање.