Статья

Что такое ограниченное хранилище в Android 11?

когда Android 10 все еще находился на ранней стадии бета-тестирования, у Google были планы на большие изменения в способе доступа приложений к файлам и папкам на вашем телефоне. внешнее хранилище (например, фотографии, которые вы или другие приложения поместили в папку / data / media, а не на SD-карту, присутствующую во многих Android-устройствах). модели).

Это изменение было известно как Ограниченное хранилище, и его целью было пресечь злоупотребление разрешениями READ_EXTERNAL_STORAGE, которые так любят запрашивать многие приложения и разработчики.

Изначально эти изменения планировалось применить ко всем приложениям на телефоне под управлением Android 10 или более поздней версии, но по инициативе разработчика обратная реакция Google изменила курс и потребовала использовать Scoped Storage только для приложений, ориентированных на Android API уровня 29, т.е. Android 10. Но с Android 11 Scoped Storage вернулся, и на этот раз Google вряд ли передумает.

10 основных функций Android 11, о которых вам нужно знать прямо сейчас

Как работает Scoped Storage

Когда-то Android работал как любая другая настольная операционная система, когда дело касалось доступа к вашим файлам; такие вещи, как документы, фотографии, музыка или что-нибудь еще, что вы хотели сохранить на своем устройстве, были доступны для открытия любым другим приложением. Вы сказали, что это нормально для приложения, когда вы его установили, и оно так и произошло. Используя собственный пользовательский интерфейс приложения, вы можете просматривать файловую систему и видеть все свои общедоступные файлы.

Verizon предлагает Pixel 4a всего за 10 долларов в месяц на новых безлимитных линиях

С Android 4.4 KitKat Google начал вносить изменения и добавлять ограничения на то, как приложение может получать доступ к файлам, которыми оно не владеет, а с Android 5.1 была реализована Storage Access Framework. Это дало приложениям возможность доступа к файлам в других папках с помощью Android API вместо стандартных программных операций с файлами. Это... работает. Он медленный и довольно непопулярный, но доступен, и к настоящему времени почти каждый разработчик приложения, которому требуется этот вид глобального доступа хотя бы опробовал, чтобы увидеть, насколько он подходит или нет, исходя из их потребности.

С Scoped Storage все становится более ограниченным и в то же время проще. Совместимое приложение получает собственную папку для данных, доступных пользователю. У приложений уже есть собственная изолированная папка для хранения необходимых файлов, и она недоступна для других приложений. Scoped Storage дает возможность создать вторую папку для файлов, создаваемых приложением. Думайте о приложении, например, о диктофоне; ему нужно где-то хранить создаваемые им аудиофайлы.

Разработчики привыкли использовать определенные методы для доступа к файлам со времен Lollipop, но они очень непопулярны.

Приложению не требуется разрешение на чтение или запись любого файла в этой папке, поэтому при первом запуске вам не будет предложено предоставить какие-либо разрешения относительно местоположения чтения и записи файлов; приложениям также необходимо разрешение для каждой папки, к которой они хотят получить доступ, но не владеют ими.

Разработчики, которым требуется доступ к папкам, не принадлежащим их приложению, должны будут использовать API-интерфейсы Storage Access Framework. Это означает, что ему необходимо запросить API, чтобы узнать, существуют ли файлы, и узнать местоположение его устройства, а затем запросить у пользователя разрешение на его использование. Это рекомендованная передовая практика для доступа к файлам со времен Android Lollipop, так что это не совсем новость. Но с Scoped Storage теперь это строго соблюдается и больше не является «необязательным».

Зачем вносить это изменение?

Google приводит две веские причины, по которым он вносит это изменение: безопасность и сокращение оставшегося «беспорядка в приложениях».

Причина для изменения хорошая, но это означает, что разработчикам нужно больше работать.

С точки зрения безопасности это изменение делает несколько вещей. Прежде всего, он позволяет разработчику иметь собственное пространство в хранилище вашего устройства, которое является частным, без запроса каких-либо конкретных разрешений при первом запуске. И никакое другое приложение не может получить доступ к созданному им документу без ты говоря, что это возможно.

Во-вторых, что не менее важно, он сокращает злоупотребление разрешением READ_EXTERNAL_STORAGE. Когда вы предоставляете это разрешение для приложения сегодня, оно дает доступ ко всему внешнему хранилищу, где мы сохраняем такие вещи, как фотографии, личные документы, видео и другие потенциально конфиденциальные файлы. При использовании Scoped Storage приложения могут видеть только свои собственные папки данных, а также определенные типы мультимедиа, такие как музыкальные файлы, с использованием других API хранилища.

Новые API были разработаны вместе с программой для разработчиков файловых менеджеров для получения «специального доступа».

Эти API-интерфейсы могут предоставлять доступ для просмотра, записи, удаления и даже массовых действий с помощью встроенной в систему пользовательской подсказки, которая позволяет разрешить или отклонить действие. Эти API-интерфейсы должны упростить разработку таких приложений, как музыкальные плееры или фоторедакторы, даже без применения Scoped Storage.

Уменьшение беспорядка в приложениях не требует особых объяснений. Когда вы удаляете приложение, его файлы и папки попадают во все хранилище вашего устройства. как только вы дали ему на это разрешение остаться. Достаточное количество этих остатков может начать влиять на производительность, особенно если файлы используют общее имя, которое может повторяться другим приложением. Если разработчик создает приложение, которое создает мультимедиа, например приложение камеры или музыкальный рекордер, он или она может использовать стандартные папки мультимедиа для хранения созданных вами вещей, чтобы они не удалялись, если приложение удален.

А как насчет файловых менеджеров?

Разработчики приложений, например файловых менеджеров, которым нужен доступ к каждый файл во внешнем хранилище может сделать это через Storage Access Framework после получения разрешения от Google - мы узнали в октябре 2019 года на Саммит разработчиков Android что реализуется программа, разрешающая «особый доступ».

Законным приложениям нужны эти специальные разрешения.

Пользователь мог бы разрешить приложению файлового менеджера доступ к корню (папке верхнего уровня) внешнего хранилища, тем самым предоставляя рекурсивный доступ к каждой папке и файлу внутри него. Поскольку это довольно широкий выбор, и одной из целей Scoped Storage было доминировать в приложениях, которым нужен такой уровень доступа, это хорошо, что Google специально рассмотрит приложения, которые хотят это сделать, и предоставит разрешения для законных приложений, таких как ваш любимый файл управляющий делами.

На этот раз будет Scoped Storage

Ранние отзывы о Scoped Storage были не очень хорошими. Был даже петиция который попросил Google удалить эту функцию, пересмотреть ее реализацию.

В основном это то, что сделал Google. Scoped Storage было доступно в официальном выпуске Android 10, но от разработчиков не требовалось его использовать. Но все скоро изменится. Из Сайт разработчиков Android.

Чтобы дать разработчикам дополнительное время для тестирования, приложения, ориентированные на Android 10 (уровень API 29), по-прежнему могут запрашивать атрибут requestLegacyExternalStorage. Этот флаг позволяет приложениям временно отказаться от изменений, связанных с ограниченным хранилищем, таких как предоставление доступа к различным каталогам и различным типам мультимедийных файлов.

Любое приложение, предназначенное для Android 11 или более поздней версии, должно использовать новые API-интерфейсы хранилища, в том числе хранилище с заданной областью. Изменения в соглашении с разработчиками Google Play гласят, что с 1 августа 2020 года все новые приложения, отправляемые в Google Play должен таргетинг на Android 10 или новее, а все обновления существующих приложений должны быть нацелены на Android 10 или новее с 1 ноября 2020 г. Ожидайте такого же поведения, и в следующем году, вероятно, потребуются приложения для Android 11.

Это означает, что, если разработчик приложения не хочет позволить приложению увядать и умереть в море старых приложений, Scoped Storage должен быть реализован в ближайшее время. К счастью, на этот раз Google прислушался к отзывам и упростил работу приложений, которым нужен полный или специальный доступ, а новые API в Android 11 упрощают и другие вещи. Все мы должны хотеть более безопасного и безопасного Android.

Слушали ли вы подкаст Android Central на этой неделе?

Android Central

Каждую неделю Android Central Podcast знакомит вас с последними техническими новостями, аналитикой и горячими комментариями со знакомыми соведущими и специальными гостями.

  • Подпишитесь в Pocket Casts: Аудио
  • Подпишитесь в Spotify: Аудио
  • Подпишитесь в iTunes: Аудио

Мы можем получать комиссию за покупки, используя наши ссылки. Выучить больше.

Это лучшие беспроводные наушники, которые вы можете купить по любой цене!
Пора перерезать шнур!

Это лучшие беспроводные наушники, которые вы можете купить по любой цене!

Лучшие беспроводные наушники удобны, отлично звучат, не стоят слишком дорого и легко помещаются в кармане.

Все, что вам нужно знать о PS5: дата выхода, цена и многое другое
Следующее поколение

Все, что вам нужно знать о PS5: дата выхода, цена и многое другое.

Sony официально подтвердила, что работает над PlayStation 5. Вот все, что мы знаем об этом на данный момент.

Nokia запускает два новых бюджетных телефона Android One стоимостью менее 200 долларов
Новые Нокиас

Nokia запускает два новых бюджетных телефона Android One стоимостью менее 200 долларов.

Nokia 2.4 и Nokia 3.4 - последние дополнения к линейке бюджетных смартфонов HMD Global. Поскольку оба они являются устройствами Android One, они гарантированно получат два основных обновления ОС и регулярные обновления безопасности на срок до трех лет.

Это лучшие ремешки для Fitbit Sense и Versa 3.
Новый и улучшенный

Это лучшие ремешки для Fitbit Sense и Versa 3.

Наряду с выпуском Fitbit Sense и Versa 3 компания также представила новые бесконечные ремешки. Мы выбрали лучшие, чтобы вам было проще.

Джерри Хильденбранд

Джерри является постоянным ботаником Mobile Nation и гордится этим. Нет ничего, что он не мог бы разобрать, но многие вещи он не мог бы собрать заново. Вы найдете его в сети Mobile Nations и сможете напиши ему в Твиттере если хочешь поздороваться.