CN104123110A - 一种Android双屏异像显示方法 - Google Patents

一种Android双屏异像显示方法 Download PDF

Info

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
Application number
CN201310148372.4A
Other languages
English (en)
Inventor
陈志炜
刘金权
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI CHIXUAN INFORMATION TECHNOLOGY Co Ltd
Original Assignee
SHANGHAI CHIXUAN INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHANGHAI CHIXUAN INFORMATION TECHNOLOGY Co Ltd filed Critical SHANGHAI CHIXUAN INFORMATION TECHNOLOGY Co Ltd
Priority to CN201310148372.4A priority Critical patent/CN104123110A/zh
Publication of CN104123110A publication Critical patent/CN104123110A/zh
Pending legal-status Critical Current

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是一款由美国谷哥公司开发的开源手机和平板电脑操作***。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等。
CN201310148372.4A 2013-04-26 2013-04-26 一种Android双屏异像显示方法 Pending CN104123110A (zh)

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)

* Cited by examiner, † Cited by third party
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 南京市德赛西威汽车电子有限公司 一种车载娱乐***中双屏异显的方法

Cited By (32)

* Cited by examiner, † Cited by third party
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