Подтвердить что ты не робот

Android - поддержка поддержки значков

Я пытаюсь реализовать поддержку пакета значков в своем приложении, чтобы те же пакеты значков, которые работают с Apex, Nova, ADW и т.д. Также будут работать с моим приложением. Используя этот код, чтобы найти файл appfilter xml, а затем проанализируйте его, чтобы получить имена с возможностью рисования, я смог получить эту работу со свободными темами:

Context context = createPackageContext(packageName, Context.CONTEXT_IGNORE_SECURITY);
                Resources res = context.getResources();
                String str = "";
                res.getAssets().list(str);

Однако с платными пакетами значков это не работает. Возвращенные активы равны 0. Я считаю, что это связано с тем, что в JB + включена прямая блокировка, что делает активы частными. (Описан здесь: Доступ к активам другого приложения для Android на желе Bean)

Мне не удалось найти какую-либо информацию о том, как поддерживать пакет значков и декомпилировать пакет значков apk. Я не вижу провайдера контента, поэтому я могу только предположить, что эти приложения-пусковые установки используют метод, аналогичный моему, для извлечения активов.

Кто-нибудь может дать мне какую-либо информацию о том, как это можно сделать или указать мне в правильном направлении?

4b9b3361

Ответ 1

Не официальный источник, но Apex Launcher Theme Tutorial отмечает, что

Затем откройте файл appfilter.xml в каталоге res/xml. (Примечание. Этот файл раньше находился в каталоге ресурсов, но новая функция шифрования приложения в JellyBean не позволяла движку темы получать доступ к ресурсам платных тем.)

Итак, похоже, что не используется специальный контент-провайдер - механизм просто должен был быть адаптирован для работы с механизмом безопасности, представленным на желе Bean.