改变默认字体大小和默认显示大小。默认开启电量百分比 。 漫游开关默认状态显示为开启,手机数据默认状态。流量节省(Data saver)默认状态
vendor/mediatek/proprietary/packages/apps/SettingsProvider/ src/com/android/providers/settings/DatabaseHelper.java
这个文件配置很多写入系统的默认属性值
改变默认字体大小和默认显示大小:
以下方法就相当于写死了,以后不能更改宏控里的density了,无法生效,需先去除下面修改。默认显示大小变成small:
overlay/vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/freeme_defaults.xml
这个freeme是自己加的,所以也可以去源码的defaults加
<string name="display_density_small">408</string>
这个字符串自定义,后面这个数值可以先adb shell查看small时的density ,命令wm density
然后在vendor/mediatek/proprietary/packages/apps/SettingsProvider/ src/com/android/providers/settings/DatabaseHelper.java
里loadSecureSettings这个方法下添加
loadStringSetting(stmt, Settings.Secure.DISPLAY_DENSITY_FORCED,R.string.display_density_small);
默认字体大小调小同理也可以,前提是没有freeme!
先在frameworks/ base/core/java/android/content/res/Configuration.java
中的setToDefaults方法将
- fontScale = 1;+ fontScale = 0.85f;
然后
vendor/mediatek/proprietary/packages/apps/SettingsProvider/ src/com/android/providers/settings/DatabaseHelper.java
再添加
loadSetting(stmt, Settings.System.FONT_SCALE, 0.85f);
这个数值是在
vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values/arrays.xml
找到
<string-array name="entries_font_size"><string-array name="entryvalues_font_size" translatable="false">
可查看对应数值
然而这些改了没效果,那就是freeme操作的覆盖掉了
直接在
overlay/vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/freeme_defaults.xml
<string name="def_font_scale" translatable="false">0.85</string>
这就可以生效了,因为在
vendor/mediatek/proprietary/packages/apps/SettingsProvider/ src/com/freeme/providers/settings/FreemeSettingsLegacyController.java
中,已经操作过了,有个loadSystemSettings方法,已经添加了
controller.loadStringSetting(SETTINGS_TYPE_SYSTEM, Settings.System.FONT_SCALE, R.string.def_font_scale);
所以只需要修改这个值就行
默认开启电量百分比:
vendor/mediatek/proprietary/packages/apps/SettingsProvider/ src/com/android/providers/settings/DatabaseHelper.java
loadSystemSettings方法中加入
loadSetting(stmt, Settings.System.SHOW_BATTERY_PERCENT, 1);
原理是在
MtkSettings/ src/com/android/settings/display/BatteryPercentagePreferenceController.java
获取
int setting = Settings.System.getInt(mContext.getContentResolver(),SHOW_BATTERY_PERCENT, 0);
默认没定义的话是给0关闭
这个Settings.System有点类似SystemProperties.get("persist.sys.packageinstall.status", "0")),机制相同,
如果是自定义字符串的话
换个load方法就行比如说:,第二个参数就自己定义了,需要用到的地方再去获取
loadStringSetting(stmt, "freeme_longpress_packageName", R.string.longpress_package);
注意,源码有三个方法
loadSystemSettings(db);
loadSecureSettings(db);
loadGlobalSettings(db);
这两个对应的是Settings.System和Settings.Secure,Settings.Global注意区分匹配!!!这里电量百分比用的是Settings.System.getInt
如果要赋值的话就Settings.System.putInt(mContext.getContentResolver(), SHOW_BATTERY_PERCENT,1);
漫游开关默认状态显示为开启:
frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DataEnabledSettings.java
getDefaultDataRoamingEnabled()方法最后返回true
当然也可以在
frameworks/ base/telephony/java/android/telephony/CarrierConfigManager.java
+ sDefaults.putBoolean(KEY_CARRIER_DEFAULT_DATA_ROAMING_ENABLED_BOOL, true);
原理如下:下面这个方法改了没作用
注意这边是global类所以是在loadGlobalSettings方法
loadSetting(stmt, Settings.Global.DATA_ROAMING,"true".equalsIgnoreCase(SystemProperties.get("ro.com.android.dataroaming","false")) ? 1 : 0);
改为loadSetting(stmt, Settings.Global.DATA_ROAMING,1);无效!!!
原因!:
frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DataEnabledSettings.java
还有个public synchronized boolean getDefaultDataRoamingEnabled() {
来控制这个漫游默认
而这个方法就是不止是通过判断写入SystemProperties的节点值判断的,而且还有个或等于,也受CarrierConfigManager.KEY_CARRIER_DEFAULT_DATA_ROAMING_ENABLED_BOOL控制
boolean isDataRoamingEnabled = "true".equalsIgnoreCase(SystemProperties.get("ro.com.android.dataroaming", "false"));isDataRoamingEnabled |= configMgr.getConfigForSubId(mPhone.getSubId()).getBoolean(CarrierConfigManager.KEY_CARRIER_DEFAULT_DATA_ROAMING_ENABLED_BOOL);
移动数据默认打开关闭也同理,但是没有或等于了,就只有那个节点控制的
SettingsProvider/ src/com/android/providers/settings/DatabaseHelper.java下:
loadSetting(stmt, Settings.Global.MOBILE_DATA,"true".equalsIgnoreCase(SystemProperties.get("ro.com.android.mobiledata","true")) ? 1 : 0);
然后frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DataEnabledSettings.java
public synchronized boolean isUserDataEnabled() {boolean defaultVal = "true".equalsIgnoreCase(SystemProperties.get("ro.com.android.mobiledata", "true"));
所以要改移动数据默认状态的话就在这里改就好
外部事件需要直接动态修改的话
android.provider.Settings.Global.putInt(mContext.getContentResolver(), "data_roaming",data?1:0);
data_roaming这个字符串就是Global.DATA_ROAMING
定义在frameworks/ base/core/java/android/provider/Settings.java
流量节省(Data saver)默认状态:
vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml
<bool name="def_restrict_background_data">false</bool>
改变默认字体大小和默认显示大小。默认开启电量百分比 。 漫游开关默认状态显示为开启,手机数据默认状态。流量节省(Data saver)默认状态相关推荐
- 修改百分浏览器(centbrowser)、谷歌和火狐浏览器默认字体的方法
修改百分浏览器(centbrowser).谷歌和火狐浏览器默认字体的方法 1,百分浏览器(centbrowser) 在浏览器的安装位置D:\Program Files\Cent Browser\Use ...
- coreldraw x8段落_CorelDRAW基础设置图文教程,教你CDR X8设置文字为默认字体
CorelDRAW基础设置图文教程,教你CDR X8设置文字为默认字体 CorelDRAW是一款非常出色的文字编排排版软件,对于平面设计三大软件之一,它的功能优势以及应用设计显而易见,对于想要从事平面 ...
- word设置默认字体_如何在Word中设置默认字体
word设置默认字体 Word is a powerful application, but some of the configuration tools are not very intuitiv ...
- 让状态栏上有显示电池电量百分比
我们所使用的Android手机的状态栏上,一般都有电池电量百分比的显示,方便用户知悉手机剩余百分之多少电量!我们的P6S手持机和ITAB-01平板上需要下拉状态栏才能看到电池电量百分比: 为了让用户能 ...
- python默认字体大小_如何设置PIL加载的默认字体的大小,使其适合我的8x8矩阵?...
我正在8x8矩阵显示器上显示文本,并且我没有一个方便使用我的BeagleBone的.ttf文件.如何设置PIL加载的默认字体的大小,使其适合我的8x8矩阵? 根据示例here,我应该能够说font = ...
- 三星老java手机换字体_三星手机设置字体大小与更换默认字体的图文教程
三星手机怎么设置字体大小?不管是我们的三星手机又或者是其他牌子的手机,手机上的一些功能都是可以自己进行更改或者自己做相关设置操作的:就比如最近有三星手机用户,反映自己不喜欢手机上的默认字体,想要自己设 ...
- android的word默认字体大小设置,更改Microsoft Word文档的默认字体大小和样式 | MOS86...
Microsoft开始在Office 2007中使用Calibri 11pt字体.对于许多用户而言,字体太小,您可能希望使默认值不同. Microsoft Office在Office 2007中将字体 ...
- w10计算机字体怎么设置在哪里设置,win10电脑修改系统默认字体的方法|win10系统怎么设置字体大小...
win10电脑怎么改变系统字体?修改系统默认字体的方法 win10电脑怎么改变系统字体?系统字体一直都是一尘不变,虽然看起来方方正正比较便于确认,但总有用户想要修改系统默认字体设置,怎么修改系统默认字 ...
- [html] 浏览器的默认字体大小是多少?怎么设计它的基准?
[html] 浏览器的默认字体大小是多少?怎么设计它的基准? 多数浏览器的默认字体大小均为16px.可设置CSS的font-size改变字体大小. <style> html,body{ f ...
最新文章
- css中float用法
- ES6中的class是如何实现的?(附Babel编译的ES5代码详解)
- linux下rsync+inotify实现服务器之间文件实时同步
- Canny边缘检测原理及C#程序实现
- vCenter6.0配置二:配置HA群集
- Spring框架第二天知识总结
- 移动应用ios和网页应用_如何在iOS上一次移动多个应用
- anaconda安装成功测试_学习笔记120—Win10 成功安装Anaconda 【亲测有效,需注意几点!!!】...
- java retry 设置上限_java-如何设置Spring Retry模板重试最大尝试次数:无限
- The Past Mistake is the Future Wisdom: Error-driven ContrastiveProbability Optimization for Chinese
- 从文本中随机选择百万行
- c语言 桌面下雪程序,用C++写的在桌面上飘雪的特效程序
- java基础语法笔记
- Hypervisor技术
- Java程序员该如何准备明年的「金三银四」跳槽季,你准备好了吗?
- java基础题数组_java基础学习——数组笔试题
- 笔记—R语言做相关气泡图
- expects parameter 1 to be resource, array given 错误解析
- 18、基于STM32的自动浇花系统
- 算法刷题 -- 1823. 找出游戏的获胜者<难度 ★★☆>
热门文章
- CSS3animation属性详解(三)
- 针对LOGO的半透明图片的显示
- mysql1846错误_MySQL 错误代码:2003 idea错误:ERROR DruidDataSource:1846 - create connection error...
- 趣味三角——第12章——tanx
- 智能优化算法:浣熊优化算法-附代码
- Linux关闭防火墙命令(永久性关闭)
- java flexpaper_解决FlexPaper分页分段加载问题
- Matplotlib画词云图
- 7-1 厘米换算英尺英寸PTA
- HUAWEI Ocean Connect IoT平台