#android #storage-access-framework
#Android #платформа доступа к хранилищу
Вопрос:
В kitkat я использую ACTION_GET_CONTENT для составления списка приложений, поддерживающих изображения. Но в пользовательском интерфейсе выбора я вижу два раздела. В верхней части перечислены приложения, зарегистрированные с помощью платформы доступа к хранилищу (SAF), а в нижней части списка показаны приложения, зарегистрированные для намерения ACTION_GET_CONTENT.
Во-первых, я хочу знать, правильно ли это работает? Если да, то приложения, зарегистрированные для обоих, отображаются дважды. есть ли способ отфильтровать их в одном из списка. Например, если приложение отображается в верхнем разделе (зарегистрировано в SAF), оно не должно отображаться в нижнем разделе (зарегистрировано в ACTION_GET_CONTENT).
Комментарии:
1.«Во-первых, я хочу знать, правильно ли это работает?» — AFAIK, да. «Если да, то приложения, зарегистрированные в обоих, отображаются дважды» — такие приложения глючат. В документации конкретно указано, что приложения должны поддерживать либо
DOCUMENT
действия, либоACTION_GET_CONTENT
для данного устройства, в зависимости от уровня API (см. «xx» в инструкции по написанию поставщика документов).2. @CommonsWare.. спасибо за ваш ответ. Я прочитал документ, которым вы поделились по ссылке, и то, что вы сказали, выглядит правильно. Если вы можете указать свой комментарий в качестве ответа, я продолжу и приму его как правильный ответ. Но нет ли обходного пути, с помощью которого я мог бы перечислить эти приложения с ошибками только в одном списке из моего приложения?
3. Вот причина, по которой я не сделал это ответом. Я не думаю, что есть обходной путь, но я не могу его исключить.
4. @CommonsWare Документ недостаточно понятен. Я имею в виду, что в первом разделе они сказали: «ACTION_OPEN_DOCUMENT не предназначен для замены ACTION_GET_CONTENT. Тот, который вы должны использовать, зависит от потребностей вашего приложения. » Поэтому, если они являются взаимоисключающими, я не могу создать свое клиентское приложение, используя тот или иной, я должен использовать SAF на 19 , но о таком ограничении вообще не сообщается, вместо этого в документе говорится, что я могу решить, какое действие я хочув соответствии с моими вариантами использования. Это действительно еще один беспорядок от Google.