“设置-显示-显示大小”对应的Setttings属性为:Settings.Secure.DISPLAY_DENSITY_FORCED,即:"display_density_forced";
手动操作菜单将 “设置-显示-显示大小”设置为小,使用adb命令:
adb shell settings get secure display_density_forced
136
获取到值为136
修改如下:
(1).
a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -2552,6 +2552,8 @@ class DatabaseHelper extends SQLiteOpenHelper {
loadIntegerSetting(stmt, Settings.Secure.SLEEP_TIMEOUT,
R.integer.def_sleep_timeout);
+ loadStringSetting(stmt, Settings.Secure.DISPLAY_DENSITY_FORCED,
+ R.string.def_display_density);
(2).
--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -258,4 +258,7 @@
<!-- should HDMI In default -->
<integer name="def_hdmi_in_state">0</integer>
+
+ <!-- Default for Settings.Secure.DISPLAY_DENSITY_FORCED -->
+ <string name="def_display_density">136</string>
需求完成
另外显示大小修改实际是屏幕密度的值,用adb 命令也能获取到:
adb shell wm density
Physical density: 160
Override density: 136
用命令:adb shell wm density 136可以直接设置用来调试效果
验证平台RK3288 Android 7.1