The principle of this thing is this: the official Android system does not support the modification of the system default font, all can be modified by the OEM manufacturers to modify the framework layer of code, while integrating a high-privileged pre-installed application services.
How to do it?
It's really simple: Modify the Android.content.res.Configuration class, and the configuration class saves the system level that affects the settings for all Activity view displays. If the configuration class changes, all activity is automatically restarted.
For example, you can add a string Fontpath or typeface typeface property. (The official default is only fontsize)
The added properties are not visible to external applications because external apps can only be compiled based on the official Android SDK. The workaround is to call through Java dynamic reflection.
So how does an external application get the current instance of a configuration object when it is initially started?
Very simple: Activity (Context)--getresources () Get Resources Object--getconfiguration (): OK.
Android Chromium: Successfully obtained user-defined system default font settings