一种基于Android的分辨率自动调整方法及系统的制作方法

文档序号:8298826阅读:155来源:国知局
一种基于Android的分辨率自动调整方法及系统的制作方法
【技术领域】
[0001]本发明涉及一种基于Android的分辨率自动调整方法及系统。
【背景技术】
[0002]Android(安卓)系统是一种基于Linux平台的开源操作系统,目前被广泛应用于手机、平板等智能便携式数码设备中,随着Android办公类应用的日益成熟,Android设备也朝着办公终端方向发展,由单一触摸屏的输出,迈向更加多样的外接显示输出。由于Android系统之前是基于单一触摸屏输出而设计,内核中已经固定了固定的输出比例,不能进行修改,如常见的手机屏幕分辨率有480*800,平板类的屏幕分辨率有1920*1080,如果将这样的固定输出的显示比例一旦接入到比例不一致的VGA/HDMI显示器中,就会出现整体的画面会被拉伸或挤压变形,无法适应市面上多样化的显示器的接入需求。

【发明内容】

[0003]本发明要解决的技术问题之一,在于提供一种基于Android的分辨率自动调整方法,实现了应用程序中分辨率与CPU输出分辨率的一致性,有效解决了不同外接显示器显示时出现的屏幕拉伸或压缩问题。
[0004]本发明要解决的技术问题之一是这样实现的:一种基于Android的分辨率自动调整方法,包括如下步骤:
[0005]步骤10、在Android文件系统的起始空白区域划分一存储扇区;
[0006]步骤20、通过BootLoader程序读取存储扇区内的数据,并将该数据作为Kernel (操作系统内核)程序的启动参数传给内核;
[0007]步骤30、启动Kernel程序,解析BootLoader程序传入的参数,得到历史分辨率,并初始化LCDC (液晶显示控制器)驱动,将历史分辨率赋值给CPU输出分辨率;
[0008]步骤40、通过显示器驱动获取当前外接显示器的最佳分辨率,并将当前外接显示器的最佳分辨率写入存储扇区;
[0009]步骤50、判断历史分辨率与当前外接显示器的最佳分辨率是否一致,若一致,则进入步骤60,否则,返回步骤20;
[0010]步骤60、启动Android主服务,在Android主服务中,启动显示服务,获取CPU输出分辨率,把CPU输出分辨率赋值给Android框架层的display-size。
[0011]进一步的,所述存储扇区大小为512字节。
[0012]进一步的,所述步骤40具体包括:
[0013]步骤41、通过显示器驱动获取当前外接显示器的EDID (扩展显示标识数据)信息,从EDID信息中获取当前外接显示器的最佳分辨率;
[0014]步骤42、把当前外接显示器的最佳分辨率写入存储扇区内,替换存储扇区中原有的数据。
[0015]本发明要解决的技术问题之二,在于提供一种基于Android的分辨率自动调整系统,实现了应用程序中分辨率与CPU输出分辨率的一致性,有效解决了不同外接显示器显示时出现的屏幕拉伸或压缩问题。
[0016]本发明要解决的技术问题之二是这样实现的:一种基于Android的分辨率自动调整系统,包括:
[0017]存储扇区建立模块:用于在Android文件系统的起始空白区域划分一存储扇区;
[0018]存储扇区读取模块:用于通过BootLoader程序读取存储扇区内的数据,并将该数据作为Kernel (操作系统内核)程序的启动参数传给内核;
[0019]CPU输出分辨率设置模块:用于启动Kernel程序,解析BootLoader程序传入的参数,得到历史分辨率,并初始化LCDC(液晶显示控制器)驱动,将历史分辨率赋值给CPU输出分辨率;
[0020]当前外接显示器信息获取与存储模块:用于通过显示器驱动获取当前外接显示器的最佳分辨率,并将当前外接显示器的最佳分辨率写入存储扇区;
[0021]判断模块:用于判断历史分辨率与当前外接显示器的最佳分辨率是否一致,若一致,则进入显示尺寸确定模块,否则,进入存储扇区读取模块;以及
[0022]显示尺寸确定模块:用于启动Android主服务,在Android主服务中,启动显示服务,获取CPU输出分辨率,把CPU输出分辨率赋值给Android框架层的display-size。
[0023]进一步的,所述存储扇区大小为512字节。
[0024]进一步的,当前外接显示器信息获取与存储模块具体包括:
[0025]当前外接显示器信息模块:用于通过显示器驱动获取当前外接显示器的EDID (扩展显示标识数据)信息,从EDID信息中获取当前外接显示器的最佳分辨率;以及
[0026]存储扇区数据更新模块:用于把当前外接显示器的最佳分辨率写入存储扇区内,替换存储扇区中原有的数据。
[0027]本发明具有如下优点:本发明实现自动检测外接显示器的显示比例,获取外接显示器的最佳分辨率,并通过修改CPU输出分辨率,确保应用程序中分辨率与CPU输出分辨率一致,本发明可支持市面上所有显示比例的正常输出,能够自动适应不同外接显示器的不同分辨率显示相应比例的界面,有效解决了显示中出现的屏幕拉伸或压缩问题。
【附图说明】
[0028]下面参照附图结合实施例对本发明作进一步的说明。
[0029]图1为本发明方法执行流程图。
[0030]图2为本发明系统逻辑结构示意图。
【具体实施方式】
[0031]请参阅图1,一种基于Android的分辨率自动调整方法,包括如下步骤:
[0032]步骤10、在Android文件系统的起始空白区域划分一存储扇区,所述存储扇区大小为512字节,用于存储外接显示器的最佳分辨率;
[0033]步骤20、通过BootLoader程序读取存储扇区内的数据,并将该数据作为Kernel程序的启动参数传给内核;
[0034]步骤30、启动Kernel程序,解析BootLoader程序传入的参数,得到历史分辨率,并初始化LCDC驱动,将历史分辨率赋值给CPU输出分辨率,由于显示器驱动晚于LCDC驱动初始化,所有之后才能对设置的CPU物理分辨率进行判断;
[0035]步骤40、通过显示器驱动获取当前外接显示器的最佳分辨率,并将当前外接显示器的最佳分辨率写入存储扇区;该步骤具体包括:
[0036]步骤41、通过显示器驱动获取当前外接显示器的EDID信息,EDID信息中包括了外接显示器适合的分辨率和最佳分辨率信息,从EDID信息中获取当前外接显示器的最佳分辨率;
[0037]步骤42、把当前外接显示器的最佳分辨率写入存储扇区内,替换存储扇区中原有的数据;
[0038]步骤50、判断历史分辨率与当前外接显示器的最佳分辨率是否一致,若一致,则进入步骤60,否则,返回步骤20;
[0039]步骤60、启动Android主服务,在Android主服务中,启动显示服务,获取CPU输出分辨率,把CPU输出分辨率赋值给Android框架层的display-size,把display-size设置成与Android应用程序获取到的CPU输出分辨率一致的分辨率,由于display-si
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1