一种基于安卓系统的切换显示内容的方法及系统与流程

文档序号:15444862发布日期:2018-09-14 23:14阅读:291来源:国知局

本发明涉及多媒体领域,具体涉及一种基于安卓系统的切换显示内容的方法及系统。



背景技术:

android是一种基于linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由google公司和开放手机联盟领导及开发。自google正式推出android系统十年后的今天,它已成为现今市场占有率最高的移动终端系统。



技术实现要素:

本发明的目的是提供一种基于安卓系统的切换显示内容的方法及系统,通过在安卓系统的硬件抽象层增加一个切换模块,通过更换帧缓冲地址,实现了安卓系统中不同屏幕显示内容的切换。

为达到上述技术目的,一方面,本发明实施例提供一种基于安卓系统的切换显示内容的方法,包括:

获取第一显示内容及作为其目标地址的第一帧缓冲地址;

将所述第一显示内容进行窗口绘制,得到第一显示界面;

根据切屏指令将所述第一显示界面的目标地址由第一帧缓冲地址更换为第二帧缓冲地址,以使所述第一显示界面在所述第二帧缓冲地址对应的第二显示屏幕中播放。

可选的:

所述第一显示屏幕为主显示屏幕,所述第二显示屏幕为扩展显示屏幕;或,

所述第一显示屏幕为扩展显示屏幕,所述第二显示屏幕为主显示屏幕;或,

所述第一显示屏幕以及所述第二显示屏幕为不同的扩展显示屏幕。

可选的,所述根据切屏指令将所述第一显示界面的目标地址由第一帧缓冲地址更换为第二帧缓冲地址的同时,包括:

将第二显示界面的目标地址由第二帧缓冲地址替换为第一帧缓冲地址,以使所述第二显示界面在所述第一帧缓冲地址对应的第一显示屏幕中播放。

可选的,所述根据切屏指令将所述第一显示界面的目标地址由第一帧缓冲地址更换为第二帧缓冲地址的同时,包括:

将第二显示界面的目标地址由第二帧缓冲地址替换为第三帧缓冲地址,以使所述第二显示界面在所述第三帧缓冲地址对应的第三显示屏幕中播放。

可选的,

获取切屏指令;其中,该步骤在安卓系统的硬件抽象层进行。

另一方面,本发明实施例提供一种基于安卓系统的切换显示内容的系统,包括:

显示内容获取单元,用于获取第一显示内容及作为其目标地址的第一帧缓冲地址;

窗口绘制单元,用于将所述第一显示内容进行窗口绘制,得到第一显示界面;

切屏单元,用于根据切屏指令将所述第一显示界面的目标地址由第一帧缓冲地址更换为第二帧缓冲地址,以使所述第一显示界面在所述第二帧缓冲地址对应的第二显示屏幕中播放。

可选的:

所述第一显示屏幕为主显示屏幕,所述第二显示屏幕为扩展显示屏幕;或,

所述第一显示屏幕为扩展显示屏幕,所述第二显示屏幕为主显示屏幕;或,

所述第一显示屏幕以及所述第二显示屏幕为不同的扩展显示屏幕。

可选的,所述切屏单元还用于:

将第二显示界面的目标地址由第二帧缓冲地址替换为第一帧缓冲地址,以使所述第二显示界面在所述第一帧缓冲地址对应的第一显示屏幕中播放。

可选的,所述切屏单元还用于:

将第二显示界面的目标地址由第二帧缓冲地址替换为第三帧缓冲地址,以使所述第二显示界面在所述第三帧缓冲地址对应的第三显示屏幕中播放。

可选的,

获取切屏指令;其中,该步骤在安卓系统的硬件抽象层进行

本发明实施例可以达到以下有益效果:本发明包括以下技术手段:获取第一显示内容及作为其目标地址的第一帧缓冲地址;将所述第一显示内容进行窗口绘制,得到第一显示界面;根据切屏指令将所述第一显示界面的目标地址由第一帧缓冲地址更换为第二帧缓冲地址,以使所述第一显示界面在所述第二帧缓冲地址对应的第二显示屏幕中播放。通过在安卓系统的硬件抽象层增加一个切换模块,通过更换帧缓冲地址,实现了安卓系统中不同屏幕显示内容的切换。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例一,一种基于安卓系统的切换显示内容的方法的流程示意图;

图2为本发明实施例二,一种基于安卓系统的切换显示内容的方法的一种实施方式的流程示意图;图3为本发明实施例三,一种互动系统的结构框图;

图3为本发明实施例二,一种基于安卓系统的切换显示内容的方法的另一种实施方式的流程示意图;

图4为本发明实施例三,一种基于安卓系统的切换显示内容的系统的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在标准的android系统中,定义了两个display,其中对于只有一个屏幕的android设备而言,只有primarydisplay,而对于两个屏幕的android设备,其第二个屏幕会显示androidexternaldisplay的内容;并且目前android系统中,这两个display的内容是固定的,无法交换。

以下通过具体实例来对本发明进行进一步说明:

实施例一

图1为本实施例一种基于安卓系统的切换显示内容的方法的流程示意图,如图所示,包括以下步骤:

步骤101,获取第一显示内容及作为其目标地址的第一帧缓冲地址;

在一个可选的实施方式中,android系统设有两个显示屏幕,假设所述第一显示屏幕为主显示屏幕,所述第二显示屏幕为扩展显示屏幕;

相应的,对应有两部分显示内容,分别为主显示内容androidprimarydisplay以及扩展显示内容androidexternaldisplay。

步骤102,将所述第一显示内容进行窗口绘制,得到第一显示界面;

两个显示内容分别经由framework中的surfaceflinger服务进行窗口绘制,得到绘制好的主显示界面和扩展显示界面。显然,主显示界面即为第一显示界面。

步骤103,根据切屏指令将所述第一显示界面的目标地址由第一帧缓冲地址更换为第二帧缓冲地址,以使所述第一显示界面在所述第二帧缓冲地址对应的第二显示屏幕中播放。

两个显示界面被发送至抽象应用层androidhal的gralloc模块,由该gralloc模块将两个显示界面分别发送至对应的两个屏幕的帧缓冲区framebuffer中进行显示。

本实施例优选的,在gralloc模块中,还包括一个交换两个framebuffer地址的应用程序,该应用程序可由外部应用来调用。

在gralloc模块将两个显示界面分别发送至对应的两个屏幕的帧缓冲区framebuffer之前,通过外部的应用程序调用,将两个framebuffer的地址相互交换,则主显示界面的内容最终显示到扩展显示屏幕上,扩展显示界面的内容显示到主显示屏幕中。

因而,在该实施方式中,还包括:

步骤104,根据切屏指令将第二显示界面的目标地址由第二帧缓冲地址更换为第一帧缓冲地址,以使所述第二显示界面在所述第一帧缓冲地址对应的第一显示屏幕中播放。

在另一个可选的实施方式中,

所述第一显示屏幕为扩展显示屏幕,所述第二显示屏幕为主显示屏幕,实际执行过程与上述实施方式等同。

在另一个可选的实施方式中,

所述第一显示屏幕以及所述第二显示屏幕为不同的扩展显示屏幕。即,android系统除主显示屏幕外,至少包括两个扩展显示屏幕。

如上所述,所述根据切屏指令将所述第一显示界面的目标地址由第一帧缓冲地址更换为第二帧缓冲地址的同时,将第二显示界面的目标地址由第二帧缓冲地址替换为第一帧缓冲地址,以使所述第二显示界面在所述第一帧缓冲地址对应的第一显示屏幕中播放。

实施例二

该实施例与上述实施例的差别在于:

第一显示内容会显示在第二显示屏幕上播放,但第二显示内容并不一定在第一显示屏幕中播放,即,两者并不是简单的交换,而只是将第一显示内容对应的帧缓冲地址更换为第二帧缓冲地址,但并不对第二显示内容进行处理。

基于此,至少包括以下三种实施方式:

1、如实施例一,第二显示界面在第一显示屏幕中播放。

2、将第二显示界面的目标地址由第二帧缓冲地址替换为第三帧缓冲地址,以使所述第二显示界面在所述第三帧缓冲地址对应的第三显示屏幕中播放。

3、对第二帧缓冲地址不作处理:

第二显示界面被第一显示界面覆盖,不再显示;

第二显示界面在第一显示界面中以小窗口形式进行播放;

第一显示界面在第二显示界面中以小窗口形式播放。

即,如图2和图3所示,分别以步骤105或步骤106替换步骤104:

步骤105、将第二显示界面的目标地址由第二帧缓冲地址替换为第三帧缓冲地址,以使所述第二显示界面在所述第三帧缓冲地址对应的第三显示屏幕中播放。

步骤106、将第二显示界面与所述第一显示界面同时发送至第二帧缓冲区。之后,进入步骤107。

步骤107、所述第一显示界面和所述第二显示界面同时在所述第二显示屏上播放。

包括:

步骤1071第二显示界面被第一显示界面覆盖,不再播放;

步骤1072第二显示界面在第一显示界面中以小窗口形式进行播放;

步骤1073第一显示界面在第二显示界面中以小窗口形式播放

以上两个实施例优选的,地址切换在安卓系统的硬件抽象层进行。

实施例三

图4为本发明实施例提供一种基于安卓系统的切换显示内容的系统结构框图,如图所示,包括:

显示内容获取单元401,用于获取第一显示内容及作为其目标地址的第一帧缓冲地址;

窗口绘制单元402,用于将所述第一显示内容进行窗口绘制,得到第一显示界面;

切屏单元403,用于根据切屏指令将所述第一显示界面的目标地址由第一帧缓冲地址更换为第二帧缓冲地址,以使所述第一显示界面在所述第二帧缓冲地址对应的第二显示屏幕中播放。

所述第一显示屏幕为主显示屏幕,所述第二显示屏幕为扩展显示屏幕;或,

所述第一显示屏幕为扩展显示屏幕,所述第二显示屏幕为主显示屏幕;或,

所述第一显示屏幕以及所述第二显示屏幕为不同的扩展显示屏幕。

可选的,所述切屏单元还用于:

将第二显示界面的目标地址由第二帧缓冲地址替换为第一帧缓冲地址,以使所述第二显示界面在所述第一帧缓冲地址对应的第一显示屏幕中播放。

可选的,所述切屏单元还用于:

将第二显示界面的目标地址由第二帧缓冲地址替换为第三帧缓冲地址,以使所述第二显示界面在所述第三帧缓冲地址对应的第三显示屏幕中播放。

可选的,

获取切屏指令;其中,该步骤在安卓系统的硬件抽象层进行。

在本实施例一个优选的实施方式中:

在一个可选的实施方式中,android系统设有两个显示屏幕,假设所述第一显示屏幕为主显示屏幕,所述第二显示屏幕为扩展显示屏幕;

相应的,对应有两部分显示内容,分别为主显示内容androidprimarydisplay以及扩展显示内容androidexternaldisplay。

两个显示内容分别经由framework中的surfaceflinger服务进行窗口绘制,得到绘制好的主显示界面和扩展显示界面。显然,主显示界面即为第一显示界面。

两个显示界面被发送至抽象应用层androidhal的gralloc模块,由该gralloc模块将两个显示界面分别发送至对应的两个屏幕的帧缓冲区framebuffer中进行显示。

本实施例优选的,在gralloc模块中,还包括一个交换两个framebuffer地址的应用程序,该应用程序可由外部应用来调用。

在gralloc模块将两个显示界面分别发送至对应的两个屏幕的帧缓冲区framebuffer之前,通过外部的应用程序调用,将两个framebuffer的地址相互交换,则主显示界面的内容最终显示到扩展显示屏幕上,扩展显示界面的内容显示到主显示屏幕中。

在另一实施方式中,当所述第一显示屏幕为扩展显示屏幕,所述第二显示屏幕为主显示屏幕时,实际执行过程与上述实施方式等同。或,当所述第一显示屏幕以及所述第二显示屏幕为不同的扩展显示屏幕,即,android系统除主显示屏幕外,至少包括两个扩展显示屏幕时,实施方式也与以上等同。

在另一个优选的实施方式中,

第一显示内容会显示在第二显示屏幕上播放,但第二显示内容并不在第一显示屏幕中播放,即,两者并不是简单的交换,而是将第二显示界面的目标地址由第二帧缓冲地址替换为第三帧缓冲地址,以使所述第二显示界面在所述第三帧缓冲地址对应的第三显示屏幕中播放。或,

对第二帧缓冲地址不作处理,使两者同时发送至第二帧缓冲区:

第二显示界面被第一显示界面覆盖,不再显示;

第二显示界面在第一显示界面中以小窗口形式进行播放;

第一显示界面在第二显示界面中以小窗口形式播放。

本发明实施例可以达到以下有益效果:本发明包括以下技术手段:获取第一显示内容及作为其目标地址的第一帧缓冲地址;将所述第一显示内容进行窗口绘制,得到第一显示界面;根据切屏指令将所述第一显示界面的目标地址由第一帧缓冲地址更换为第二帧缓冲地址,以使所述第一显示界面在所述第二帧缓冲地址对应的第二显示屏幕中播放。通过在安卓系统的硬件抽象层增加一个切换模块,通过更换帧缓冲地址,实现了安卓系统中不同屏幕显示内容的切换。

应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。

在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优先实施方案。

为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。

上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrativelogicalblock),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrativecomponents),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。

本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。

本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。

在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1