В Android 11 изменится способ взаимодействия с камерой
Как было раньше: если приложение хочет разрешить пользователям делать и загружать фотографии, оно может либо самостоятельно реализовать это с помощью API Android-камеры, либо отправить Intent, который будет обработан приложением камерой. Если приложение использует последний вариант, то пользователям предоставлялось диалоговое окно, с помощью которого можно выбрать приложения с помощью которого будет осуществляться действие. В диалоговом окне обычно отображались все приложения, реализующие функционал камеры, если в них была добавлена такая возможность. Однако с Android 11 диалоговое окно будет показывать только предварительно установленную стандартную камеру.
Это изменение ломает пользовательский опыт, потому что в большинстве случаев пользователям придется вручную запускать сторонние приложения камеры, когда они хотят сделать снимок. А критика из-за такого поведения в первую очередь польется, конечно же, на разработчиков, а не на Google. Так что теперь сторонние приложения камеры не будут реагировать на следующие Intent-ы:
📌 android.media.action.VIDEOCAPTURE
📌 android.media.action.IMAGECAPTURE
📌 android.media.action.IMAGECAPTURESECURE
Google в релизе говорит о том, что это повысит пользовательскую безопасность. Однако каким образом – не сообщают. Я предположила бы вариант с маскировкой “зловредной камеры” под распространенные приложения или же под стандартную камеру, что в итоге могло приводить к получению доступа к фотографиям пользователя.
Однако не стоит расстраиваться, все же остался обходной путь сделать так, чтобы наши пользователи все еще могли выбирать приложения привычным образом, для этого нужно будет использовать явные intent-ы. Из-за того что с Android 11 разработчики не смогут запросить список приложений, которые могут реагировать на вышеперечисленные намерения, получается что они заранее должны знать, какие сторонние приложения для камеры они хотят поддерживать.
Хорошая идея для библиотеки, кстати 🙂
Post #235
2.61K