SystemUI源文件在frameworks\base\packages\SystemUI目录下
1.资源文件设置
在 res/values/config.xml文件中找到
<string name="quick_settings_tiles_default" translatable="false">
hotspot,location,rotation,work,inversion,cell,nfc,wifi,dnd,bt,flashlight,rotation,battery,cell,airplane,cast,screenshot,browser
</string>
这是默认显示的快捷设置,这里我自定义的快捷设置为browser,将它添加到最后。
在strings.xml中设置快捷方式的名称
<string name="quick_settings_ringer_browser">浏览器</string>
在res/drawable目录下新增按钮图片
本文直接用NFC的图片资源(ic_qs_nfc_enabled.xml)
找到frameworks\base\proto\src\metrics_constants.proto 文件
新增:
QS_BROWSER = 1146;
注意:metrics_constants.proto文件 修改完成后 mma重新编译生效
2.原始代码修改
com.android.systemui.qs.QSTileHost.java
因为默认读取数据库的文件,所以想要配置文件生效,将数据库置空,这样会读取配置文件。
protected List<String> loadTileSpecs(Context context, String tileList) {
final Resources res = context.getResources();
tileList = null; //chenzq: 这里修改屏蔽了数据库的默认设置,强制读取配置文件
final String defaultTileList = res.getString(R.string.quick_settings_ti