2013-06-26 7 views
11

Ich versuche, Icon Pack-Unterstützung in meiner Anwendung zu implementieren, so dass das gleiche Icon-Packs, die mit Apex, Nova, ADW usw. funktioniert. Wird auch mit meiner Anwendung arbeiten. diesen Code verwenden, die appfilter XML-Datei zu finden, und dann zu analysieren, die ziehbar Namen zu bekommen, ich habe in der Lage gewesen, diese Arbeit mit freien Themen zu erhalten:Android - Implementierung von Icon Pack Unterstützung

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

jedoch mit Paid Icon-Pack tut dies nicht Arbeit. Die zurückgegebenen Assets sind 0. Ich glaube, dies liegt an der Vorwärtssperre für kostenpflichtige Apps auf JB +, die die Assets privat macht. (Beschrieben hier: Accessing assets of other Android app on Jelly Bean)

Ich konnte keine Informationen darüber finden, wie man ein Icon Pack unterstützt und ein Icon Pack apk dekompiliert. Ich kann keinen Content Provider sehen, also kann ich nur davon ausgehen, dass diese Launcher Apps ein verwenden Methode ähnlich wie meine, um die Vermögenswerte abzurufen.

Kann jemand mir irgendwelche Informationen darüber geben, wie das gemacht werden kann, oder mir in die richtige Richtung zeigen?

+0

Ich bin mit dem gleichen Problem konfrontiert. Ich verstehe, dass das Abrufen des Symbols die "appfilter.xml" -Datei enthält, aber ich weiß nicht, wie es funktioniert. –

Antwort

1

Nicht eine offizielle Quelle, aber die Apex Launcher Theme Tutorial stellt fest, dass

nächste die appfilter.xml Datei unter dem res/xml öffnen. (Hinweis: Diese Datei verwendet unter dem Vermögen Verzeichnis befinden, aber die neue App-Verschlüsselung in JellyBean machte es unmöglich für das Thema Motor Zugang Vermögen von bezahlten Themen.)

So sieht es aus, als ob es Es wurde kein spezieller Inhaltsanbieter verwendet - der Mechanismus musste einfach angepasst werden, um mit dem auf Jelly Bean eingeführten Sicherheitsmechanismus zu arbeiten.