[高通SDM450][Android9.0]屏幕显示DPI可动态配置
文章目录
- 开发平台基本信息
- 问题描述
- 解决方法
- 去除默认dpi限制
开发平台基本信息
芯片: 高通SDM450
版本: Android 9.0
kernel: msm-4.9
问题描述
正常我们要修改屏幕的DPI,最简单的方法就是在编译的mk里面,给ro.sf.lcd_density这个属性赋值自己想设置的DPI。但是,我们有一款机器作为微信人脸支付硬件厂商,需要对接各个软件厂商,而不同的客户软件可能需要定制不同的DPI,因为ro属性不允许重写,那意味着即使不同厂商定制仅有dpi差别,也得分不同的固件,这样维护起来会特别麻烦;所以,就需要可以通过广播或者其他途径设置,使得dpi可动态设置。
解决方法
去除默认dpi限制
控制屏幕dpi的实际上有两个属性,ro.sf.lcd_density跟vendor.display.lcd_density。假如编译设置了ro.sf.lcd_density,那么就无法再改变屏幕的dpi,所以,要动态设置的前提是必须保证没有默认设置ro.sf.lcd_density。然后就是vendor.display.lcd_density,从代码可以看出,这个值设置了也是没有的,因为,每次开机的时候都会重新设置,默认设置的值是与硬件屏幕宽度相关。所以,要去掉这个设定,如果设置了自定义的dpi,则不重新设置vendor.display.lcd_density。
--- a/device/qcom/common/rootdir/etc/init.qcom.early_boot.sh
+++ b/device/qcom/common/rootdir/etc/init.qcom.early_boot.sh
@@ -68,24 +68,36 @@ elselog -t DRM_BOOT -p w "file: '$vbfile' or perms doesn't exist"fi+tplcddensity=`getprop persist.custom.lcd_density`
+function set_density_by_fb() {#put default density based on width
- if [ -z $fb_width ]; then
- setprop vendor.display.lcd_density 320
- else
- if [ $fb_width -ge 1600 ]; then
- setprop vendor.display.lcd_density 640
- elif [ $fb_width -ge 1440 ]; then
- setprop vendor.display.lcd_density 560
- elif [ $fb_width -ge 1080 ]; then
- setprop vendor.display.lcd_density 480
- elif [ $fb_width -ge 720 ]; then
- setprop vendor.display.lcd_density 320 #for 720X1280 resolution
- elif [ $fb_width -ge 480 ]; then
- setprop vendor.display.lcd_density 240 #for 480X854 QRD resolution
+ echo $tplcddensity | grep -q '[^0-9]'
+ n1=$?
+
+ echo $tplcddensity
+ if [ -z $tplcddensity ]; then
+ if [ -z $fb_width ]; then
+ setprop vendor.display.lcd_density 320else
- setprop vendor.display.lcd_density 160
+ if [ $fb_width -ge 1600 ]; then
+ setprop vendor.display.lcd_density 640
+ elif [ $fb_width -ge 1440 ]; then
+ setprop vendor.display.lcd_density 560
+ elif [ $fb_width -ge 1080 ]; then
+ setprop vendor.display.lcd_density 480
+ elif [ $fb_width -ge 720 ]; then
+ setprop vendor.display.lcd_density 320 #for 720X1280 resolution
+ elif [ $fb_width -ge 480 ]; then
+ setprop vendor.display.lcd_density 240 #for 480X854 QRD resolution
+ else
+ setprop vendor.display.lcd_density 240
+ fifi
+ elif [ $n1 -eq 1 ];then
+ setprop vendor.display.lcd_density $tplcddensity
+ else
+ setprop vendor.display.lcd_density 240fi}
注:可以通过adb设置persist.custom.lcd_density属性,然后重启设备设备在启动的时候会执行sh脚本,然后就设置的值写入到vendor.display.lcd_density中。
[高通SDM450][Android9.0]屏幕显示DPI可动态配置相关推荐
- [高通SDM450][Android9.0]屏蔽开放WIFi以及WIFI信号有个x导致无法上网
文章目录 开发平台基本信息 问题描述 解决方法 1.解决WIFI信号有个x的问题 2.屏蔽开放WIFi 开发平台基本信息 芯片: 高通SDM450 版本: Android 9.0 kernel: ms ...
- [高通SDM450][Android9.0]刷机后RTC时钟不生效问题
文章目录 开发平台基本信息 问题描述 解决方法 1.写入RTC时钟添加增加开机广播 开发平台基本信息 芯片: 高通SDM450 版本: Android 9 kernel: msm-4.19 问题描述 ...
- [高通SDM450][Android9.0]adb无法进行remount的解决方案
文章目录 开发平台基本信息 问题描述 解决方法 开发平台基本信息 芯片: SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 在调试开发的时候,执行remount可 ...
- [高通SDM450][Android9.0]双屏异显、双屏异触
文章目录 开发平台基本信息 问题描述 解决方法 双屏异显 双屏异触 延伸扩展 开发平台基本信息 芯片: SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 公司有一 ...
- [高通SDM450][Android9.0]禁止电话、短信呼入
文章目录 开发平台基本信息 问题描述 解决方法 禁止电话.短信呼入 开发平台基本信息 芯片: SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 公司有一款设备,作 ...
- [高通SDM450][Android9.0]CTA认证--去掉录音功能
文章目录 开发平台基本信息 问题描述 解决方法 开发平台基本信息 芯片: SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 设备在进行入网认证的时候,公司为了尽快 ...
- [高通SDM450][Android9.0]CTA认证--去除某些应用开机使用定位权限
文章目录 开发平台基本信息 问题描述 解决方法 开发平台基本信息 芯片: SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 设备在进行入网认证,实验室在测试的时候 ...
- [高通SDM450][Android9.0]CTA认证--去掉彩信、短信、通话功能
文章目录 开发平台基本信息 问题描述 解决方法 开发平台基本信息 芯片: SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 与去掉录音功能同理,设备在进行入网认证 ...
- [高通SDM450][Android9.0]CTA认证--去掉GPS功能
文章目录 开发平台基本信息 问题描述 解决方法 开发平台基本信息 芯片: SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 与去掉录音功能同理,设备在进行入网认证 ...
最新文章
- libcurl远程获取文件大小源码
- RHEL7系统管理之内核管理
- python 静态方法 类方法 的作用_Python实例方法、类方法、静态方法的区别与作用详解...
- 湖南科技大学c语言程序设计b,2017年湖南科技大学计算机科学与工程学院826C语言程序设计与数据结构综合之数据结构考研题库...
- 今天开始学模式识别与机器学习Pattern Recognition and Machine Learning 书,章节1.1,多项式曲线拟合(Polynomial Curve Fitting)
- python边缘检测代码_Python中的边缘检测
- Spring事务 Transaction rolled back because it has been marked as rollback-only
- Linux shell脚本基础学习详细介绍(完整版)
- Regulator的下载地址
- 微软CEO纳德拉开讲,2016微软开发者峰会在京召开
- mysql语法题_mysql数据库题语法练习
- java exec source报错_Mac 下maven路径报错的坑
- html表单怎么设置编码,form 表单 设置编码和页面编码
- 大数据_MapperReduce_与hive的集成_使用hive数据分析工具_关联操作hbase---Hbase工作笔记0025
- fedora16 解码方案
- 【微机实验系列】标准输入输出系统
- mpvue小程序实现老虎机
- Win10用注册表开启任务栏透明
- 超牛无损图片放大神器PhotoZoom
- SharePoint使用CamlQuery查询人员和组