Как получить наилучшее совпадение с несколькими ресурсами, каждый с разными квалификаторами? - PullRequest
0 голосов
/ 21 января 2020

Фон

Android имеет встроенный алгоритм, позволяющий определить, какой ресурс использовать в случае предложения нескольких предложений, каждый со своим определителем (см. Таблицу 2 здесь ).

Проблема

Я хочу имитировать c этот алгоритм или даже использовать его непосредственно на простых строках.

Это означает, что если я нахожусь на устройстве с некоторыми задайте c конфигурацию и предоставьте ей несколько строк, каждая из которых является ресурсом с квалификатором, он подскажет, какой использовать.

Пример значка приложения: я на устройстве с плотностью экрана XXHDPI и Android Q, и входные данные, которые я отправляю, - это строки: «res / mipmap-mdpi / ic_launcher.png», «res / mipmap-xxhdpi / ic_launcher.png» и «mipmap-anydpi-v26». /ic_launcher.xml ".

В этом случае мне будет предложено использовать опцию" ic_launcher. xml ".

Обратите внимание, что этот вопрос НЕ касается ресурс является частью текущего приложения. Речь идет о поиске, когда мне дают только квалификаторы ресурсов и имена ресурсов.

Что я пробовал / нашел

Я пытался хотя бы найти правильный код на Android ОС, которая принимает это решение, но, к сожалению, мне не удалось. Я также не нашел (через Inte rnet) никакого упоминания об этом алгоритме и о том, как имитировать c.

Вопрос

Как я могу это сделать? Должен ли я go над таблицей и реализовать идентификацию каждого в этом порядке?

Кстати, поэтому я задаю этот вопрос, потому что, к сожалению, Google планирует испортить разрешение на хранение (вместо этого использовать SAF), что означает Я не смогу нормально проанализировать файлы APK вне пути приложения , поэтому я пытаюсь использовать обходные пути, чтобы получить значок приложения и имя приложения, например , используя библиотеку парсера APK и даже создание VectorDrawable из двоичного XML содержимого

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...