一种Android双屏异像显示方法技术

技术编号:10576753 阅读:1327 留言:0更新日期:2014-10-29 10:40
本发明专利技术提供一种在Android平台上实现双屏异像显示功能的方法,其包括:在Android平台上采用两块显示屏,其中一块为主屏,一块为副屏;主屏和副屏在物理上相互独立,可以有不同的分辨率、尺寸及数据传输接口;在Linux内核中创建两个帧缓冲驱动;在Android框架显示系统的服务端中创建两个DisplayHardware对象,启用两块显示屏;在Android框架显示系统的服务端中创建两个Surfaceflinger的服务,每个Surfaceflinger分别代表一个屏幕,供Android客户端调用;在Android框架显示系统的客户端中创建两个SurfaceComposerClient对象,每个SurfaceComposerClient与一个Surfaceflinger建立连接;Android应用程序可以在两块显示屏上显示不同的内容;Android应用程序使用标准的Android应用程序接口在两块屏幕输出显示元素,与原生的Android应用程序开发接口无缝兼容。

【技术实现步骤摘要】
【专利摘要】本专利技术提供一种在Android平台上实现双屏异像显示功能的方法,其包括:在Android平台上采用两块显示屏,其中一块为主屏,一块为副屏;主屏和副屏在物理上相互独立,可以有不同的分辨率、尺寸及数据传输接口;在Linux内核中创建两个帧缓冲驱动;在Android框架显示系统的服务端中创建两个DisplayHardware对象,启用两块显示屏;在Android框架显示系统的服务端中创建两个Surfaceflinger的服务,每个Surfaceflinger分别代表一个屏幕,供Android客户端调用;在Android框架显示系统的客户端中创建两个SurfaceComposerClient对象,每个SurfaceComposerClient与一个Surfaceflinger建立连接;Android应用程序可以在两块显示屏上显示不同的内容;Android应用程序使用标准的Android应用程序接口在两块屏幕输出显示元素,与原生的Android应用程序开发接口无缝兼容。【专利说明】-种Android双屏异像显示方法
本专利技术涉及基于Android的电子行业领域,尤其是一种在Android平台上同时使 用两块显示屏、并且两块屏上可以显示不同内容的方法。
技术介绍
Android是一款由美国谷哥公司开发的开源手机和平板电脑操作系统。Android 操作系统运行于Linux操作系统之上,即基于Android的手机或平板电脑等电子设备,其 底层运行着Linux内核及相关的Linux设备驱动程序。随着Android操作系统日益成熟, Android的应用也从手机、平板电脑等消费类电子产品扩展到更多的行业应用中,比如汽车 多媒体装置、医疗设备、电力设备等。在不同行业中的应用也催生出对Android新功能的需 求,其中一项便是双屏异像的需求。所谓双屏异像,是指在一台Android设备上,可以同时 使用两块显示屏,并且两块显示屏上可以显示不同的内容。 原生的Android (即由谷哥公司发布的原始的Android操作系统)只支持一块显 示屏,这是因为绝大部分的手机或平板电脑都只使用一块显示屏。使用原生的Android无 法在一台设备上使用两块显示屏。市场上也有一些可以双屏显示的Android手机或平板电 脑,但这些设备的两块屏幕显示的是同样的内容,即副屏相当于是主屏的一个拷贝。有时候 主屏和副屏甚至不能同时使用,一个打开的时候另一个则必须关闭。对应用开发者来说还 是只有一块显示屏。这种主屏和副屏显示相同内容的应用场景,包括会议演讲等,即演讲者 在设备的主屏(通常是LCD屏)上观看,副屏通过投影仪投影到会场,演讲者和观众看到的是 相同的内容。 然而现实中会有这样的需求,即在一台Android设备上使用两块显示屏,两块显 示屏能够同时工作,并且显示不同的内容。比如,在公共交通工具上,一块屏用来显示广告、 报站信息或播放电影等,供乘客观看,另一块屏可以运行GPS导航程序或交通调度信息等, 供驾驶员观看。由于原生的Android不支持双屏显示,这给这类设备的开发者,尤其是软件 开发者带来了很大的困难。 -种容易实现的方法是,绕过Android,直接通过Linux的巾贞缓冲驱动来使用副 屏。这种方法的优点是易于实现,但缺点很明显,即对应用程序开发者来说使用副屏很不方 便,无法通过现有的Android编程接口来操作副屏,Android的优点无法得到利用。这样的 缺点使得对程序员来说即使仅仅想在副屏上输出一段文字,或者显示一副图片都变得很困 难。 因此,需要一种能够在Android平台上同时使用两块屏幕、两块屏幕可以显示不 同内容、并且应用程序可以使用标准Android编程接口来操作两块屏幕的方法。
技术实现思路
正如
技术介绍
中所述,本专利技术提供了一种在Android平台上同时使用两块显示 屏、并且两块屏上可以显示不同内容的方法及用于实现该方法的装置。 本专利技术是通过以下技术方案实现的: ,包括以下步骤: 在所述的方法中,采用两块物理上独立的显示屏,其中一块为主屏,一块为副屏。主屏 和副屏可以有不同的分辨率、尺寸及数据传输接口,比如VGA显示器、TFT液晶显示器、LVDS 接口的液晶显不器、HDMI商清显不器等。 针对所述的主屏和副屏,分别为它们编写Linux帧缓冲驱动。 在所述的方法中,修改Android框架,在Android框架的显示系统中为副屏创建新 的 DisplayHardware、Surfaceflinger 和 SurfaceComposerClient 对象,使得 Android 框架 能够同时使用两块显示屏。 在所述的方法中,规定了 Android应用程序使用Android的Surface接口在副屏 上输出内容。Android应用程序在主屏上的输出方法与原生的Android单屏系统完全相同。 本专利技术使得在Android平台上可以同时使用两块屏幕,两块屏幕可以显示不同内 容,并且Andro i d应用程序可以使用标准的Andro i d接口在主屏和副屏上输出显示内容,充 分利用Android强大、高效的显示输出功能。 【专利附图】【附图说明】 附图1和2是本专利技术的具体说明。 作为图2的对比,图1是原生的、单屏幕的Android平台的显示框架图。其中显 示屏是一块物理的显示屏幕。巾贞缓冲(Framebuffer)驱动是显示屏的Linux设备驱动。 DisplayHardware是Android框架中对Linux巾贞缓冲驱动的抽象和封装。Surfaceflinger 是Android框架中显示系统的服务端部分,其通过DisplayHardware对象,根据客户端要求 在显示屏上输出内容。Surfaceflinger的主要功能包括:将层的内容刷新到屏幕上;维持 层的叠加顺序,并对层最终输出做裁剪计算;响应客户端要求,与客户端的层建立连接;接 收客户端要求,修改层的属性(大小,alpha透明度等设定)。SurfaceComposerClient属于 Android显示框架中的客户端部分,其负责与位于服务端的Surfaceflinger建立连接,并 调用 Surfaceflinger 提供的功能。SurfaceSession 维持与 SurfaceComposerClient 间的 会话,使得应用程序能够通过SurfaceSession间接调用SurfaceComposerClient。Surface 是应用程序最终可见的、可维护的图形图象显示内容,即层。WindowManagerService是窗 口管理系统,用于管理Android活动(Activity)、输入事件(鼠标、触摸屏等)和管理视图 (View)等。 图2是一个所述的双屏异像实施例中Android和Linux显示系统的框架图。其中 虚线所框出的部分是区别于所述的图1的单屏系统而为实现双屏异像新增加的内容。 【具体实施方式】 附图2是本专利技术的一个具体实施例。下面结合附图2对本专利技术作进一步详尽 的描述。 图2是一个所述的双屏异像实施例中Android和Linu本文档来自技高网
...

【技术保护点】
一种用于在Android平台上同时使用两块显示屏,并且两块显示屏显示不同内容的方法,其特征在于,所述方法包括以下步骤:使用物理上独立的两块显示屏;在Linux内核中分别为两块显示屏创建帧缓冲(Framebuffer)驱动;在Android框架(Framework)中分别为两块屏创建DisplayHardware对象;在Android框架中创建两个Surfaceflinger对象,每个Surfaceflinger对象代表一个屏幕;在Android框架中创建两个SurfaceComposerClient对象,每个对象与一个Surfaceflinger建立连接;Android应用程序通过应用程序接口访问Android框架中的显示对象,从而在两块屏幕上显示内容。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈志炜刘金权
申请(专利权)人:上海赤炫信息科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1