2013-06-26 12 views
11

Próbuję zaimplementować obsługę pakietów ikon w mojej aplikacji, aby te same pakiety ikon, które działają z Apex, Nova, ADW itp. Będą również działać z moją aplikacją. Używając tego kodu, aby znaleźć plik appfilter xml, a następnie analizować je, aby uzyskać rozciągliwej nazwy, byłem w stanie uzyskać to pracę z bezpłatnych tematów:Android - Implementowanie obsługi pakietów ikon

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

jednak z płatnych pakietów ikona ta nie praca. Zwrócone zasoby wynoszą 0. Uważam, że dzieje się tak ze względu na blokowanie forwardów w płatnych aplikacjach w JB +, które powoduje, że aktywa są prywatne. (Przedstawiono tutaj: Accessing assets of other Android app on Jelly Bean)

Nie mogłem znaleźć żadnych informacji na temat obsługi pakietu ikon i dekompilowania pakietu ikonowego. Nie widzę żadnego dostawcy treści, więc mogę tylko założyć, że te aplikacje uruchamiające używają metoda podobna do mojej, aby odzyskać aktywa.

Czy ktoś może podać mi informacje o tym, jak można to zrobić, lub wskazać mi właściwy kierunek?

+0

Mam do czynienia z tym samym problemem. Rozumiem, że pobieranie ikony dotyczy pliku "appfilter.xml", ale nie wiem, jak to zrobić. –

Odpowiedz

1

nie jest oficjalnym źródłem, ale Apex Launcher Theme Tutorial zauważa, że ​​

Następnie otwórz plik appfilter.xml pod RES/katalogu XML. (Uwaga: Ten plik używany znajdować się w katalogu aktywów, ale nowa funkcja szyfrowania aplikacja w Jellybean uniemożliwiło silnika motyw do aktywów dostępu płatnych motywów.)

Więc wygląda na to, czy istnieje nie wykorzystano specjalnego dostawcy treści - mechanizm musiał po prostu zostać dostosowany do pracy z mechanizmem bezpieczeństwa wprowadzonym w Jelly Bean.

Powiązane problemy