CN104123110A - 一种Android双屏异像显示方法 - Google Patents
一种Android双屏异像显示方法 Download PDFInfo
- Publication number
- CN104123110A CN104123110A CN201310148372.4A CN201310148372A CN104123110A CN 104123110 A CN104123110 A CN 104123110A CN 201310148372 A CN201310148372 A CN 201310148372A CN 104123110 A CN104123110 A CN 104123110A
- Authority
- CN
- China
- Prior art keywords
- android
- screen
- surfaceflinger
- display
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供一种在Android平台上实现双屏异像显示功能的方法,其包括:在Android平台上采用两块显示屏,其中一块为主屏,一块为副屏;主屏和副屏在物理上相互独立,可以有不同的分辨率、尺寸及数据传输接口;在Linux内核中创建两个帧缓冲驱动;在Android框架显示***的服务端中创建两个DisplayHardware对象,启用两块显示屏;在Android框架显示***的服务端中创建两个Surfaceflinger的服务,每个Surfaceflinger分别代表一个屏幕,供Android客户端调用;在Android框架显示***的客户端中创建两个SurfaceComposerClient对象,每个SurfaceComposerClient与一个Surfaceflinger建立连接;Android应用程序可以在两块显示屏上显示不同的内容;Android应用程序使用标准的Android应用程序接口在两块屏幕输出显示元素,与原生的Android应用程序开发接口无缝兼容。
Description
技术领域
本发明涉及基于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平台上同时使用两块显示屏、并且两块屏上可以显示不同内容的方法及用于实现该方法的装置。
本发明是通过以下技术方案实现的:
一种Android双屏异像显示方法,包括以下步骤:
在所述的方法中,采用两块物理上独立的显示屏,其中一块为主屏,一块为副屏。主屏和副屏可以有不同的分辨率、尺寸及数据传输接口,比如VGA显示器、TFT液晶显示器、LVDS接口的液晶显示器、HDMI高清显示器等。
针对所述的主屏和副屏,分别为它们编写Linux帧缓冲驱动。
在所述的方法中,修改Android框架,在Android框架的显示***中为副屏创建新的DisplayHardware、Surfaceflinger和SurfaceComposerClient对象,使得Android框架能够同时使用两块显示屏。
在所述的方法中,规定了Android应用程序使用Android的Surface接口在副屏上输出内容。Android应用程序在主屏上的输出方法与原生的Android单屏***完全相同。
本发明使得在Android平台上可以同时使用两块屏幕,两块屏幕可以显示不同内容,并且Android应用程序可以使用标准的Android接口在主屏和副屏上输出显示内容,充分利用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和Linux显示***的框架图。其中虚线所框出的部分是区别于附图1的单屏***而为实现双屏异像新增加的内容。
由图2所述,Linux内核中增加一个副屏帧缓冲驱动。Android框架显示***的服务端部分,为副屏分别增加一个DisplayHardware对象和Surfaceflinger对象。
所述的增加一个Surfaceflinger对象,通过在Surfaceflinger的instantiate过程中新增加一个Surfaceflinger服务来获得。
由图2所述,Android框架显示***的客户端部分,为副屏增加一个SurfaceComposerClient对象。
由图1和图2所述,Android应用程序通过WindowManagerService在主屏上输出内容,并响应鼠标、触摸屏等输入事件。在双屏异像***中,Android应用程序在主屏上的操作和单屏***在显示屏上的操作是完全相同的。
由图2所述,在双屏异像***中,Android应用程序通过Surface在副屏上输出显示内容。在副屏上输出时Android应用程序不使用WindowManagerService,不接收鼠标、触摸屏等事件。在副屏上显示的内容也不参与窗口管理,而是由应用程序直接控制。
由图2所述,在双屏异像***中,只是在Linux内核中为副屏增加帧缓冲驱动,在Android框架中为副屏增加DisplayHardware、Surfaceflinger和SurfaceComposerClient对象。增加的内容在原生的***中已经有明确定义,因此不需要为双屏异像中的副屏增加新的应用程序软件开发接口,从而保证了双屏异像的应用开发接口与原生的Android应用开发接口无缝兼容。
Claims (10)
1.一种用于在Android平台上同时使用两块显示屏,并且两块显示屏显示不同内容的方法,其特征在于,所述方法包括以下步骤:使用物理上独立的两块显示屏;在Linux内核中分别为两块显示屏创建帧缓冲(Framebuffer)驱动;在Android框架(Framework)中分别为两块屏创建DisplayHardware对象;在Android框架中创建两个Surfaceflinger对象,每个Surfaceflinger对象代表一个屏幕;在Android框架中创建两个SurfaceComposerClient对象,每个对象与一个Surfaceflinger建立连接;Android应用程序通过应用程序接口访问Android框架中的显示对象,从而在两块屏幕上显示内容。
2.如权利要求1所述的方法,其特征在于两块显示屏均可以显示多种显示元素,包括但不限于文字、图片、视频等;其显示内容可以按不同的层(即Surface)来混合,层和层之间可以通过不同的透明度来混合,即alpha混合。
3.如权利要求1所述的方法,其特征在于两块屏幕可以显示不同的内容;其中一块作为Android应用程序运行所需要的默认屏幕,称为主屏,另外一块可以显示额外的内容,称为副屏。
4.如权利要求1所述的方法,其特征在于在Linux内核中为每块屏创建一个帧缓冲驱动。
5.如权利要求4所述的方法,其中所述帧缓冲驱动在Android框架中被进一步封装成DisplayHardware对象;主屏和副屏分别有一个和其对应的DisplayHardware对象,即***中共有两个DisplayHardware对象。
6.如权利要求5所述的方法,其中所述DisplayHardware对象被Android框架中的Surfaceflinger对象使用;Surfaceflinger为层(Surface)的管理者,包括层的创建、层的叠加顺序的管理等;主屏和副屏分别有一个和其对应的Surfaceflinger对象,即***中共有两个Surfaceflinger对象。
7.如权利要求6所述的方法,其特征在于Android框架中创建两个SurfaceComposerClient对象,每个对象与一个Surfaceflinger对象建立连接。
8.如权利要求1所述的方法,其特征在于Android应用程序采用Android固有的应用程序接口在两块屏幕上显示内容,从而简化了双屏显示的软件编程接口,使得双屏显示的编程接口与单屏幕显示的编程接口无缝兼容。
9.如权利要求8所述的方法,其特征在于Android应用程序在主屏上运行Android活动(即Activity),使用View显示内容,即主屏的操作方法与单屏幕***中的显示操作方法完全相同;Android中的鼠标、触摸屏等输入事件与主屏而不是副屏相对应。
10.如权利要求8所述的方法,其特征在于Android应用程序通过Android中的Surface类(class)及其他与Surface和显示相关的类在副屏上输出显示内容,这些类包括但不限于Canvas、Paint等。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310148372.4A CN104123110A (zh) | 2013-04-26 | 2013-04-26 | 一种Android双屏异像显示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310148372.4A CN104123110A (zh) | 2013-04-26 | 2013-04-26 | 一种Android双屏异像显示方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104123110A true CN104123110A (zh) | 2014-10-29 |
Family
ID=51768536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310148372.4A Pending CN104123110A (zh) | 2013-04-26 | 2013-04-26 | 一种Android双屏异像显示方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104123110A (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391669A (zh) * | 2014-11-13 | 2015-03-04 | 深圳市中兴移动通信有限公司 | 显示终端、终端显示控制方法及*** |
CN104461020A (zh) * | 2014-12-31 | 2015-03-25 | 珠海全志科技股份有限公司 | 设备物理方向与***逻辑方向映射方法和*** |
CN105786424A (zh) * | 2015-12-23 | 2016-07-20 | 南京富士通南大软件技术有限公司 | 嵌入式***的单屏幕快速分屏显示解决的方法 |
WO2016119328A1 (zh) * | 2015-01-29 | 2016-08-04 | 宇龙计算机通信科技(深圳)有限公司 | 一种操作***界面显示方法及终端 |
CN106155605A (zh) * | 2015-03-27 | 2016-11-23 | 联想(北京)有限公司 | 显示处理方法和电子设备 |
CN106155604A (zh) * | 2015-03-27 | 2016-11-23 | 联想(北京)有限公司 | 显示处理方法和电子设备 |
CN106250083A (zh) * | 2016-07-31 | 2016-12-21 | 上海普览智能科技有限公司 | 双屏双控智能终端及实现方法 |
CN106354458A (zh) * | 2016-08-26 | 2017-01-25 | 青岛海信移动通信技术股份有限公司 | 双屏显示方法及装置 |
CN106371792A (zh) * | 2016-10-26 | 2017-02-01 | 深圳市赛格导航科技股份有限公司 | Android车载终端、基于该车载终端的双屏显示方法及装置 |
CN106502647A (zh) * | 2016-09-27 | 2017-03-15 | 深圳市金立通信设备有限公司 | 一种分屏应用兼容处理的方法及终端 |
CN106708458A (zh) * | 2016-12-27 | 2017-05-24 | 东软集团股份有限公司 | 一种图像显示的方法及*** |
WO2017088318A1 (zh) * | 2015-11-23 | 2017-06-01 | 深圳创维-Rgb电子有限公司 | 用户界面显示处理方法及装置 |
CN106873932A (zh) * | 2017-02-17 | 2017-06-20 | 浙江大学 | 一种Android***服务端、远程桌面图像重定向方法及*** |
CN107817960A (zh) * | 2016-09-14 | 2018-03-20 | 中兴通讯股份有限公司 | 一种屏幕显示方法及移动终端 |
CN107832028A (zh) * | 2017-10-18 | 2018-03-23 | 上海龙旗科技股份有限公司 | 多屏显示***及方法 |
CN108694028A (zh) * | 2017-03-15 | 2018-10-23 | 成都虚拟世界科技有限公司 | 一种基于安卓***的双屏显示方法及电子设备 |
CN108965602A (zh) * | 2018-07-24 | 2018-12-07 | 努比亚技术有限公司 | 应用程序显示方法、移动终端及计算机可读存储介质 |
WO2019010825A1 (zh) * | 2017-07-13 | 2019-01-17 | 西安中兴新软件有限责任公司 | 一种应用处理方法及终端 |
CN110641382A (zh) * | 2019-09-10 | 2020-01-03 | 沈阳中科创达软件有限公司 | 一种车载界面的显示方法、装置、电子设备和存储介质 |
CN110764725A (zh) * | 2019-10-18 | 2020-02-07 | 中科创达软件股份有限公司 | 一种车机***主副屏显示方法、装置及电子设备 |
CN111182356A (zh) * | 2019-12-31 | 2020-05-19 | 珠海六点智能科技有限公司 | 一种Android视频播放的双屏异显实现方法及*** |
CN111240616A (zh) * | 2019-12-30 | 2020-06-05 | 数源科技股份有限公司 | 基于Android的LCD显示终端联动控制方法 |
CN112004049A (zh) * | 2020-08-18 | 2020-11-27 | 北京字节跳动网络技术有限公司 | 双屏异显方法、装置和电子设备 |
CN113312016A (zh) * | 2021-05-10 | 2021-08-27 | 南京市德赛西威汽车电子有限公司 | 一种车载娱乐***中双屏异显的方法 |
-
2013
- 2013-04-26 CN CN201310148372.4A patent/CN104123110A/zh active Pending
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391669A (zh) * | 2014-11-13 | 2015-03-04 | 深圳市中兴移动通信有限公司 | 显示终端、终端显示控制方法及*** |
CN104461020A (zh) * | 2014-12-31 | 2015-03-25 | 珠海全志科技股份有限公司 | 设备物理方向与***逻辑方向映射方法和*** |
CN104461020B (zh) * | 2014-12-31 | 2018-01-19 | 珠海全志科技股份有限公司 | 设备物理方向与***逻辑方向映射方法和*** |
WO2016119328A1 (zh) * | 2015-01-29 | 2016-08-04 | 宇龙计算机通信科技(深圳)有限公司 | 一种操作***界面显示方法及终端 |
CN106155605A (zh) * | 2015-03-27 | 2016-11-23 | 联想(北京)有限公司 | 显示处理方法和电子设备 |
CN106155604A (zh) * | 2015-03-27 | 2016-11-23 | 联想(北京)有限公司 | 显示处理方法和电子设备 |
CN106155605B (zh) * | 2015-03-27 | 2020-03-24 | 联想(北京)有限公司 | 显示处理方法和电子设备 |
CN106155604B (zh) * | 2015-03-27 | 2020-02-21 | 联想(北京)有限公司 | 显示处理方法和电子设备 |
WO2017088318A1 (zh) * | 2015-11-23 | 2017-06-01 | 深圳创维-Rgb电子有限公司 | 用户界面显示处理方法及装置 |
CN105786424B (zh) * | 2015-12-23 | 2018-11-16 | 南京富士通南大软件技术有限公司 | 嵌入式***的单屏幕快速分屏显示解决的方法 |
CN105786424A (zh) * | 2015-12-23 | 2016-07-20 | 南京富士通南大软件技术有限公司 | 嵌入式***的单屏幕快速分屏显示解决的方法 |
CN106250083A (zh) * | 2016-07-31 | 2016-12-21 | 上海普览智能科技有限公司 | 双屏双控智能终端及实现方法 |
CN106354458A (zh) * | 2016-08-26 | 2017-01-25 | 青岛海信移动通信技术股份有限公司 | 双屏显示方法及装置 |
CN106354458B (zh) * | 2016-08-26 | 2019-09-20 | 青岛海信移动通信技术股份有限公司 | 双屏显示方法及装置 |
CN107817960A (zh) * | 2016-09-14 | 2018-03-20 | 中兴通讯股份有限公司 | 一种屏幕显示方法及移动终端 |
WO2018050095A1 (zh) * | 2016-09-14 | 2018-03-22 | 中兴通讯股份有限公司 | 一种屏幕显示方法及移动终端 |
CN106502647A (zh) * | 2016-09-27 | 2017-03-15 | 深圳市金立通信设备有限公司 | 一种分屏应用兼容处理的方法及终端 |
CN106371792A (zh) * | 2016-10-26 | 2017-02-01 | 深圳市赛格导航科技股份有限公司 | Android车载终端、基于该车载终端的双屏显示方法及装置 |
CN106708458A (zh) * | 2016-12-27 | 2017-05-24 | 东软集团股份有限公司 | 一种图像显示的方法及*** |
CN106873932A (zh) * | 2017-02-17 | 2017-06-20 | 浙江大学 | 一种Android***服务端、远程桌面图像重定向方法及*** |
CN108694028B (zh) * | 2017-03-15 | 2022-01-07 | 成都理想智美科技有限公司 | 一种基于安卓***的双屏显示方法及电子设备 |
CN108694028A (zh) * | 2017-03-15 | 2018-10-23 | 成都虚拟世界科技有限公司 | 一种基于安卓***的双屏显示方法及电子设备 |
WO2019010825A1 (zh) * | 2017-07-13 | 2019-01-17 | 西安中兴新软件有限责任公司 | 一种应用处理方法及终端 |
CN107832028A (zh) * | 2017-10-18 | 2018-03-23 | 上海龙旗科技股份有限公司 | 多屏显示***及方法 |
CN108965602A (zh) * | 2018-07-24 | 2018-12-07 | 努比亚技术有限公司 | 应用程序显示方法、移动终端及计算机可读存储介质 |
CN110641382A (zh) * | 2019-09-10 | 2020-01-03 | 沈阳中科创达软件有限公司 | 一种车载界面的显示方法、装置、电子设备和存储介质 |
CN110764725A (zh) * | 2019-10-18 | 2020-02-07 | 中科创达软件股份有限公司 | 一种车机***主副屏显示方法、装置及电子设备 |
CN111240616A (zh) * | 2019-12-30 | 2020-06-05 | 数源科技股份有限公司 | 基于Android的LCD显示终端联动控制方法 |
CN111182356A (zh) * | 2019-12-31 | 2020-05-19 | 珠海六点智能科技有限公司 | 一种Android视频播放的双屏异显实现方法及*** |
CN112004049A (zh) * | 2020-08-18 | 2020-11-27 | 北京字节跳动网络技术有限公司 | 双屏异显方法、装置和电子设备 |
CN112004049B (zh) * | 2020-08-18 | 2022-06-28 | 北京字节跳动网络技术有限公司 | 双屏异显方法、装置和电子设备 |
CN113312016A (zh) * | 2021-05-10 | 2021-08-27 | 南京市德赛西威汽车电子有限公司 | 一种车载娱乐***中双屏异显的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104123110A (zh) | 一种Android双屏异像显示方法 | |
US9489165B2 (en) | System and method for virtual displays | |
US10528210B2 (en) | Foreground/background assortment of hidden windows | |
US9049213B2 (en) | Cross-environment user interface mirroring using remote rendering | |
US8819705B2 (en) | User interaction support across cross-environment applications | |
US9047102B2 (en) | Instant remote rendering | |
US8933949B2 (en) | User interaction across cross-environment applications through an extended graphics context | |
US6917362B2 (en) | System and method for managing context data in a single logical screen graphics environment | |
AU2014296339B2 (en) | Multi-monitor full screen mode in a windowing environment | |
US9727301B2 (en) | Gesture-based prioritization of graphical output on remote displays | |
US9269334B2 (en) | Display system | |
US11494209B2 (en) | Multi-active browser application | |
CN104020937A (zh) | 一种显示方法及电子设备 | |
US20120092305A1 (en) | Resolution-independent virtual display | |
US20120319927A1 (en) | Remote management of a simultaneous display of multimedia content in display devices | |
US11249640B2 (en) | Electronic apparatus and controlling method thereof | |
WO2023093458A1 (zh) | 确定墨水屏的刷新模式的方法、电子设备和存储介质 | |
CN114237482A (zh) | 书写笔迹显示处理方法、装置、***、设备和存储介质 | |
JP5229727B2 (ja) | マルチ画像表示システム、画像処理方法及びプログラム | |
TW201409350A (zh) | 影像外接裝置的處理方法以及影像外接裝置 | |
US12032978B2 (en) | Multi-active browser application | |
WO2023141917A1 (en) | Sequential flexible display shape resolution | |
CN114510159A (zh) | 书写轨迹显示方法、装置及存储介质 | |
Argue | Advanced multi-display configuration and connectivity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141029 |