2016-04-25 7 views
0

Also im Grunde habe ich eine theme.apk Datei Ich wollte wissen, wie setze ich dieses Thema auf das System, das Standard-Icons, Standard-Hintergrund, Standardschrift alle sollte systemweit geändert werden. Ich habe viele Antworten durchsucht, aber alles, was ich gefunden habe, dreht sich um das Thema meiner App/Aktivität. Ich habe keine Antworten gefunden, die sich auf systemweite Änderungen beziehen. wenn ich zum Beispiel diese apk über meine App installiere, sollte sie die Standardschriftart in die Schriftarten ändern, die in meinem theme .apk systemweit enthalten sind.Wenden Sie externe Thema APK programmatisch auf systemweite Anwendungen

folgende Sache ist, was ich versucht

String packagename="com....."; 
Resources res = 
context.getPackageManager().getResourcesForApplication(packagename); 
int strid = res.getIdentifier(packagename+":string/"+name, "string",packagename); 
int drawableid = res.getIdentifier(packagename+":drawable/"+name, "drawable", packagename); 

String name = res.getString(resid); 
Bitmap bmp = BitmapFactory.decodeResource(res, resid); 

zu tun, aber ich habe Sackgasse erreicht. Zum weiteren Vorgehen

+1

Mit öffentlichen APIs Sie nicht. Möglicherweise gibt es eine versteckte API oder ein xposed-Modul oder eine herstellerspezifische API. Aber Android unterstützt derzeit keine programmatische Änderung des systemweiten Themas. – Budius

Antwort

0

Normalerweise haben Sie beim Zugriff auf Systemressourcen in Android Klassen mit dem Präfix Manager. Zum Beispiel könnten Sie eine WallpaperManager verwenden, um den Hintergrund Ihres Telefons einzustellen.

Beispiel: http://android-er.blogspot.co.at/2011/03/set-wallpaper-using-wallpapermanager.html

aber ich habe nicht in der Lage gewesen, einen Manager-Klasse für Schriften zu finden:/

+0

funktioniert nur für Tapeten, was ist mit Schriften, Themen? –

+0

Nun [dieser Artikel] (http://www.tech-recipes.com/rx/10573/android-how-to-change-the-default-system-font-requires-root-or-adb/) besagt, dass Sie Ihr Gerät rooten müssen, um die Standardschriftart des Systems zu ändern (und eine neue Schriftart dem System hinzuzufügen). Das macht Sinn, weil Sie auf die Systemdateien zugreifen müssen, um eine neue Schriftart Vorlage hinzuzufügen. TTF – Shanakor

+0

Rooting wird nicht funktionieren für mich..ich denke, ich muss meinen eigenen Launcher dafür entwerfen. –

Verwandte Themen