CN114077455A - 一种任务启动方法和电子设备 - Google Patents
一种任务启动方法和电子设备 Download PDFInfo
- Publication number
- CN114077455A CN114077455A CN202010851050.6A CN202010851050A CN114077455A CN 114077455 A CN114077455 A CN 114077455A CN 202010851050 A CN202010851050 A CN 202010851050A CN 114077455 A CN114077455 A CN 114077455A
- Authority
- CN
- China
- Prior art keywords
- task
- floating window
- window
- display
- application
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04803—Split screen, i.e. subdividing the display area or the window area into separate subareas
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/482—Application
Abstract
本申请实施例提供一种任务启动方法和电子设备。方法包括:在第一应用的第一任务运行并在屏幕上进行的过程中,当第一任务触发针对第二任务的任务跳转时,如果需要窗口展示所述第二任务,调用系统的窗口启动接口;基于所述窗口启动接口启动所述第二任务,包括:当所述第二任务支持悬浮窗口展示时,在保持所述第一任务当前的展示状态不变的基础上,启动所述第二任务,基于所述窗口启动接口创建所述第一悬浮窗口,基于所述第一悬浮窗口展示所述第二任务。根据本申请一实施例的方法,由当前任务自行直接触发启动悬浮窗口,在启动新任务时无需退出当前的全屏展示页面,确保了任务场景不会被中断,从而大大提高了用户体验。
Description
技术领域
本申请涉及智能终端技术领域,特别涉及一种任务启动方法和电子设备。
背景技术
在现有技术的应用场景中,用户在使用终端设备(例如,手机)上的应用执行应用任务(例如,展示邮件/网页,播放视频)时,常常会遇到需要启动新的应用任务(例如,打开新的操作/浏览页面,展示即时消息)的情况。在现有的操作系统中,通常采用任务跳转的方式来启动新的应用任务。然而,在大多数情况下,如果在任务A的运行过程中,实现针对任务B的任务跳转,就会中断任务A,例如,在展示邮件的过程中打开邮件附件、在展示记事本内容的过程中打开记事本内容中的网页链接、播放视频时临时分享到其他应用等。这样,用户正常使用的任务场景(任务A的场景)就被迫临时中断,大大影响了用户体验。
发明内容
针对现有技术下由于任务跳转中断当前任务运行而导致任务场景中断的问题,本申请提供了一种任务启动方法和电子设备,本申请还提供一种计算机可读存储介质。
本申请实施例采用下述技术方案:
第一方面,本申请提供一种任务启动方法,其特征在于,包括:
在第一应用的第一任务运行并在屏幕上进行的过程中,当第一任务触发针对第二任务的任务跳转时,如果需要窗口展示所述第二任务,调用系统的窗口启动接口,所述窗口启动接口为系统级公共标准应用程序接口,所述窗口启动接口用于生成第一悬浮窗口的窗口参数;
基于所述窗口启动接口启动所述第二任务,包括:
当所述第二任务支持悬浮窗口展示时,在保持所述第一任务当前的展示状态不变的基础上,启动所述第二任务,基于所述窗口启动接口创建所述第一悬浮窗口,基于所述第一悬浮窗口展示所述第二任务,其中,所述第一任务的展示状态包括全屏展示、和/或分屏展示、和/或悬浮窗口展示。
在上述第一方面的一种可行的实现方式中,在基于所述第一悬浮窗口展示所述第二任务的过程中,同时维持所述第一任务以及所述第二任务的展示内容的生命周期状态。
在上述第一方面的一种可行的实现方式中,在基于所述第一悬浮窗口展示所述第二任务的过程中,所述第一任务以及所述第二任务的展示内容中的操作控件均为可用状态,其中,根据用户操作,在所述第一任务的展示内容以及所述第二任务的展示内容间切换操作焦点。
在上述第一方面的一种可行的实现方式中,所述第二任务为所述第一应用的任务,或者,所述第二任务为所述第一应用以外的第二应用的任务。
在上述第一方面的一种可行的实现方式中,所述基于所述第一悬浮窗口展示所述第二任务之后,所述方法还包括:
当针对所述第二任务的全屏展示被触发,且,所述第一任务支持悬浮窗口展示时,关闭所述第一悬浮窗口,全屏展示所述第二任务,创建第二悬浮窗口,基于所述第二悬浮窗口展示所述第一任务。
在上述第一方面的一种可行的实现方式中,所述基于所述第一悬浮窗口展示所述第二任务之后,所述方法还包括:
在所述第一任务当前的展示状态为全屏展示时,当针对所述第二任务的分屏展示被触发,且,所述第一任务支持分屏展示时,关闭所述第一悬浮窗口,分屏展示所述第一任务以及所述第二任务;
和/或,
在所述第一任务当前的展示状态为,与第三任务分屏展示时,当针对所述第二任务的分屏展示被触发,且,所述第三任务支持悬浮窗口展示时,关闭所述第一悬浮窗口,分屏展示所述第一任务以及所述第二任务,创建第二悬浮窗口,基于所述第二悬浮窗口展示所述第三任务;
和/或,
在所述第一任务当前的展示状态为悬浮窗口展示时,当针对所述第二任务的分屏展示被触发,且,所述第一任务支持分屏展示时,关闭所述第一任务的悬浮窗口以及所述第一悬浮窗口,分屏展示所述第一任务以及所述第二任务。
在上述第一方面的一种可行的实现方式中,所述基于所述第一悬浮窗口展示所述第二任务之后,所述方法还包括:
在所述第一任务当前的展示状态为全屏展示时,当针对所述第二任务的展示状态交换被触发,且,所述第一任务支持悬浮窗口展示时,关闭所述第一悬浮窗口,全屏展示所述第二任务,创建第二悬浮窗口,基于所述第二悬浮窗口展示所述第一任务,其中,所述第二悬浮窗口与所述第一悬浮窗口的大小位置一致;
和/或,
在所述第一任务当前的展示状态为,与第三任务分屏展示时,当针对所述第二任务的展示状态交换被触发,且,所述第一任务支持悬浮窗口展示时,关闭所述第一悬浮窗口,分屏展示所述第三任务以及所述第二任务,创建第二悬浮窗口,基于所述第二悬浮窗口展示所述第一任务,其中,所述第二悬浮窗口与所述第一悬浮窗口的大小位置一致;
和/或,
在所述第一任务当前的展示状态为悬浮窗口展示时,当针对所述第二任务的展示状态交换被触发时,交换展示所述第一任务的悬浮窗口与所述第一悬浮窗口的位置以及窗口大小设置。
在上述第一方面的一种可行的实现方式中,所述基于所述窗口启动接口启动所述第二任务,还包括:
当所述第二任务不支持悬浮窗口展示时,启动所述第二任务,退出所述第一任务或后台运行所述第一任务,全屏展示所述第二任务。
在上述第一方面的一种可行的实现方式中,所述方法还包括:
在所述第一任务进行全屏展示的过程中,当针对所述第二任务的任务跳转被触发时,由所述第一应用判断是否需要窗口展示所述第二任务。
第二方面,本申请提供了一种电子设备,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如本申请实施例所述的方法步骤。
第三方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例的方法。
根据本申请实施例所提出的上述技术方案,至少可以实现下述技术效果:
根据本申请一实施例的方法,通过提供API给应用指定悬浮窗启动,由当前任务自行直接触发启动悬浮窗口,不仅大大简化了悬浮窗口的创建流程,并且在启动新任务时无需退出当前的全屏展示页面,确保了任务场景不会被中断,从而大大提高了用户体验。
附图说明
图1所示为根据本申请一实施例的分屏展示应用场景界面图;
图2所示为根据本申请一实施例的悬浮窗展示流程图;
图3所示为根据本申请一实施例的悬浮窗展示场景图;
图4所示为根据本申请一实施例的悬浮窗展示流程图;
图5所示为根据本申请一实施例的悬浮窗展示场景图;
图6所示为根据本申请一实施例的悬浮窗展示应用场景图;
图7所示为根据本申请一实施例的悬浮窗展示应用场景图;
图8所示为根据本申请一实施例的悬浮窗展示应用场景图;
图9所示为根据本申请一实施例的悬浮窗展示应用场景图;
图10所示为根据本申请一实施例的悬浮窗展示应用场景图;
图11所示为根据本申请一实施例的悬浮窗展示应用场景图;
图12所示为根据本申请一实施例的任务启动流程图;
图13所示为根据本申请一实施例的任务启动部分流程图;
图14所示为根据本申请一实施例的任务启动部分流程图;
图15所示为根据本申请一实施例的任务启动部分流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
针对现有技术下由于任务跳转中断当前任务运行而导致任务场景中断的问题,一种可行的解决方案是在终端设备上同时运行并展示两个应用任务。这样,当操作焦点在屏幕上所展示的两个任务之间进行跳转时,就不需要进行展示页面的切换,也就不会中断任务场景。
在实际应用场景中,一种同时展示两个应用任务的方式是分屏展示。图1所示为根据本申请一实施例的分屏展示应用场景界面图。如图1所示,在手机界面中以分屏方式同时展示两个应用界面101以及102。分屏展示方案虽然可以实现来达到两个应用同时并存和运行。但是,相较于全屏展示,分屏展示相当于缩小了展示界面,会给用户的界面浏览以及界面操作带来很大不便,用户体验并不理想。
在实际应用场景中,一种同时展示两个应用任务的方式是悬浮窗展示。即在全屏展示一个应用任务的基础上,创建悬浮窗,在悬浮窗中展示另一个应用任务。悬浮窗可以自由移动和放大缩小,这样,就可以大大提高界面展示的灵活性,提高用户体验。
图2所示为根据本申请一实施例的悬浮窗展示流程图。图3所示为根据本申请一实施例的悬浮窗展示场景图。
如图2所示,在一种启动悬浮窗口的实现方案中,用户执行下述步骤实现悬浮窗展示:
步骤210,退出当前全屏页面;
步骤220,进入最近任务历史界面(例如,手机三键导航时点击最近键(recent按键) 进入,或者,手势导航直接上滑进入);
步骤230,选择想开启的悬浮窗口的任务卡片(例如,如图3中301所示),点击卡片上方的图标(例如,如图3中图标310);
步骤240,选择“在弹出视图中打开”(例如,如图3中302所示)。
在步骤240的操作被执行后,悬浮窗口被启用并展示用户选定的任务(如图中303所示)。
具体的,图2所示实施例是通过切换全屏的任务卡片的窗口类型,来达到进入悬浮窗的目的。图4所示为根据本申请一实施例的悬浮窗展示流程图。如图4所示,系统执行下述步骤实现悬浮窗展示:
步骤410,进入系统桌面;
步骤420,进入最近任务历史界面;
步骤430,调用框架(Framework)接口更改任务(Task)的窗口类型,包括:
步骤431,检索Task所在的堆栈(Stack);
步骤432,把Stack切换为指定类型窗口并计算窗口位置和大小;
步骤440,通知App在悬浮窗口内刷新内容。
上述方案虽然可以实现悬浮窗展示,从而在一个页面下展示多个应用任务,但是,在上述方案中,要想启动悬浮窗展示任务,该任务必须先被全屏打开,无法把一个没打开过的任务以悬浮窗启动。并且,在启动悬浮窗展示任务时,需要中断原来的任务,进到最近任务历史中去切换,操作过程较长,用户的操作体验仍然很差。
在另一种启动悬浮窗口的实现方案中,采用画中画模式启动悬浮窗口。例如,视频播放器播放视频时需要把播放界面悬浮显示。图5所示为根据本申请一实施例的悬浮窗展示场景图。如图5所示,在501所示的界面播放视频,通过点选视频播放页面的按钮将视频播放页面变成画中画悬浮窗口。如图5中502所示,在画中画悬浮窗口510进行视频播放时,全屏主页面可以进行页面展示并接受用户的操作。
画中画模式启动悬浮窗口虽然简化了悬浮窗口的启动流程,并且在启动悬浮窗口时不会打断全屏主页面的应用场景,但是,画中画模式需要先把目标页面启动起来,然后点击目标页面的按钮把自己触发变成画中画,其无法做到直接一步启动一个目标悬浮窗口,并且画中画模式的悬浮窗口无法接收用户输入事件做交互操作,只能展示内容,无法做到自由接收用户输入进行交互。例如,悬浮窗口510无法做视频快进等滑动动作。
针对上述问题,在本申请一实施例中,构建用于创建悬浮窗口的窗口启动接口,该接口为系统级公共标准应用程序接口(Application Programming Interface,API),窗口启动接口用于生成悬浮窗口的窗口参数(例如,窗口大小,窗口位置)。在需要启动新任务进行任务跳转时,直接调用窗口启动接口构建悬浮窗口,启动新任务并在悬浮窗口进行新任务的展示即可。
具体的,在任务A进行全屏展示的过程中,当任务A触发针对任务B的任务跳转时,调用系统的窗口启动接口;基于窗口启动接口启动任务B,包括:
在全屏展示任务A的基础上,启动任务B,基于窗口启动接口创建悬浮窗口A,基于悬浮窗口A展示任务B。
根据本申请一实施例的方法,通过提供API给应用指定悬浮窗启动,由当前任务自行直接触发启动悬浮窗口,触发更加便捷和自由,不仅大大简化了悬浮窗口的创建流程,并且在启动新任务时无需退出当前的全屏展示页面,确保了任务场景不会被中断,从而大大提高了用户体验。
进一步的,根据本申请一实施例的方法,启动的悬浮窗口除了可以实现多任务并行的目的,而且窗口可以自由拖动和移动,没有分屏那种无法移动窗口的限制,大大方便了用户操作。
以具体的应用场景为例。图6所示为根据本申请一实施例的悬浮窗展示应用场景图。如图6所示,用户在全屏阅读新闻时,分享新闻链接到通讯应用,触发针对通信任务的任务跳转。在保持全屏展示新闻内容的前提下,创建悬浮窗口600,在悬浮窗口600中展示通讯应用的通信界面,用户在通信界面中进行输入就可以实现新闻链接的分享以及分享结果的查看,并且,由于新闻内容始终全屏展示,用户的新闻阅读应用场景也不会中断,就不会出现,由于新闻页面被关闭,导致用户无法继续阅读新闻的情况的发生。
图7所示为根据本申请一实施例的悬浮窗展示应用场景图。如图7所示,用户在全屏浏览图库时,分享指定图片到通讯应用,触发针对通信任务的任务跳转。在保持全屏展示图库页面的前提下,创建悬浮窗口700,在悬浮窗口700中展示通讯应用的通信界面,用户在通信界面中进行输入就可以实现图片的分享以及分享结果的查看,并且,由于图库始终全屏展示,用户的图库浏览应用场景也不会中断,就不会出现,由于图库页面被关闭,导致用户无法顺利找到之前的浏览位置的情况的发生。
图8所示为根据本申请一实施例的悬浮窗展示应用场景图。如图8所示,用户在全屏观看视频时,分享视频链接到通讯应用,触发针对通信任务的任务跳转。在保持全屏展示图库页面的前提下,创建悬浮窗口800,在悬浮窗口800中展示通讯应用的通信界面,用户在通信界面中进行输入就可以实现视频链接的分享以及分享结果的查看,并且,由于视频始终全屏展示,用户的视频播放应用场景也不会中断,就不会出现,由于视频播放页面被关闭,导致视频播放中断,用户需要重新打开视频的情况的发生。
图9所示为根据本申请一实施例的悬浮窗展示应用场景图。如图9所示,用户在全屏使用备忘录时,需要打开备忘录中的网址链接,因此触发针对网页浏览器的任务跳转。在保持备忘录全屏打开的前提下,创建悬浮窗口900,在悬浮窗口900中展示网页浏览器的浏览界面,由于备忘录始终全屏打开,用户的备忘录使用场景也不会中断。
图10所示为根据本申请一实施例的悬浮窗展示应用场景图。如图10所示,用户在全屏使用邮箱应用时,需要打开邮件的附件文档,因此触发针对文档处理应用的任务跳转。在保持邮箱应用全屏打开的前提下,创建悬浮窗口1000,在悬浮窗口1000中展示文档处理应用的浏览界面,由于邮箱应用始终全屏打开,用户的邮箱应用使用场景也不会中断。
进一步的,在实际应用场景中,在任务A触发针对任务B的任务跳转时,任务A可能并不是全屏展示状态,例如,任务A当前为悬浮窗口展示状态,或者,任务A与任务C 当前分屏展示。
针对上述情况,在本申请一实施例中,在任务A运行并在屏幕上进行展示的过程中,当任务A触发针对任务B的任务跳转时,调用系统的窗口启动接口;基于窗口启动接口启动任务B,包括:
在保持任务A当前的展示状态不变的基础上,启动任务B,基于窗口启动接口创建悬浮窗口A,基于悬浮窗口A展示任务B,其中,任务A的展示状态包括全屏展示、和/或分屏展示、和/或悬浮窗口展示。
例如,图11所示为根据本申请一实施例的悬浮窗展示应用场景图。如图11所示,邮箱应用与通信应用分屏展示。用户在全屏使用邮箱应用时,需要打开邮件的附件文档,因此触发针对文档处理应用的任务跳转。在保持邮箱应用全屏打开的前提下,创建悬浮窗口1000,在悬浮窗口1000中展示文档处理应用的浏览界面,由于邮箱应用与通信应用始终分屏展示,用户的邮箱应用与通信应用的使用场景也不会中断。
进一步的,在某些任务跳转应用场景中,并不需要保留前一任务在屏幕中继续展示。例如,在用户通过应用推广界面打开新应用时,用户往往不需要再浏览应用推广界面,此时,就可以直接全屏展示新应用,而不是在展示应用推广界面的基础上,悬浮窗口展示新应用。
因此,在本申请一实施例中,在任务A运行并在屏幕上进行展示的过程中,当针对任务B的任务跳转被触发时,如果需要窗口展示任务B,才调用系统的窗口启动接口,基于窗口启动接口启动任务B;如果不需要窗口展示任务B,则退出任务A或后台运行任务A,启动任务B,全屏展示任务B。
进一步的,由于不同应用的设计架构不同,不同应用所支持的展示方式也就可能不同,某些应用可能会不支持悬浮窗口展示。针对这一问题,在本申请一实施例中,在基于窗口启动接口启动任务B的过程中,当任务B支持悬浮窗口展示时,在保持任务A当前的展示状态不变的基础上,启动任务B,基于窗口启动接口创建悬浮窗口A,基于悬浮窗口A 展示任务B;当任务B不支持悬浮窗口展示时,退出任务A或后台运行任务A,启动任务B,全屏展示任务B。
图12所示为根据本申请一实施例的任务启动流程图。以任务A全屏展示的应用场景为例,如图5所示,系统执行下述步骤启动新任务:
步骤1210,运行任务A,全屏展示任务A;
步骤1220,判断是否触发针对任务B的任务跳转;
如果否,返回步骤1220;
如果是,执行步骤1230;
步骤1230,判断是否需要窗口打开任务B;
如果否,执行步骤1231;
如果是,执行步骤1240;
步骤1231,退出任务A的全屏展示,退出任务A或后台运行任务A,启动任务B,全屏展示任务B;
步骤1240,调用系统的窗口启动接口;
基于窗口启动接口启动任务B,包括:
步骤1251,判断任务B是否支持窗口启动;
如果否,执行步骤1231;
如果是,执行步骤1252;
步骤1252,在全屏展示任务A的基础上,启动任务B,基于窗口启动接口创建悬浮窗口A,基于悬浮窗口A展示任务B。
进一步的,在本申请一实施例中,在步骤1230中,由用户判断是否需要窗口打开任务B。例如,在触发针对任务B的任务跳转后,向用户输出打开方式选择界面,由用户选择是否使用窗口方式打开任务B。
进一步的,在本申请一实施例中,在步骤1230中,由设备自行判断是否需要窗口打开任务B。具体的,设备判断用户是否仍然需要浏览任务A的展示页面,关闭任务A的展示页面,全屏展示任务B是否会对用户体验产生影响,如果用户是否仍然需要浏览任务 A的展示页面,关闭任务A的展示页面,全屏展示任务B会降低用户体验,则判定需要窗口打开任务B。
例如,在一应用场景中,设备判断任务A当前的展示内容是否包含任务跳转相关的内容以外的其他内容,当任务A当前的展示内容不包含任务跳转相关的内容以外的其他内容时,判定任务B不需要窗口打开。例如,任务A当前的展示内容为应用推广页面,应用推广页面中所有内容都是指向针对任务B(启动新应用)的任务跳转,因此,当用户在任务A展示的应用推广页面触发针对任务B(启动新应用)的任务跳转时,用户接下来就不需要再浏览新应用推广,而是需要直接使用新应用,因此,设备判定不需要窗口打开任务 B。
例如,在一应用场景中,设备根据任务A当前的展示内容,判断全屏打开任务B是否会对用户的浏览以及操作产生影响,当设备判定全屏打开任务B不会对用户的浏览以及操作产生影响时,判定任务B不需要窗口打开。例如,任务A当前的展示内容为小说页面的最后一页,在小说内容的末尾提供了推荐链接。在用户在任务A展示页面的小说内容的末尾点击推荐链接时,可以认为用户已阅读完毕小说内容,此时进行全屏页面的切换并不会影响用户的浏览体验,因此,当用户点击推荐链接触发针对任务B(启动推荐页面) 的任务跳转时,设备判定不需要窗口打开任务B。
进一步的,为了准确判定用户是否仍然需要浏览任务A的展示页面,在本申请一实施例中,由执行任务A的应用A来执行步骤1230。
进一步的,在本申请一实施例中,执行任务A的应用与执行任务B的应用可以为同一应用,也可以为不同的应用。即,在一应用场景中,在应用A执行任务A的过程中,当针对应用A的任务B被触发任务跳转时,由应用A调用系统的窗口启动接口并基于窗口启动接口启动任务B,其中,应用A并行执行任务A以及任务B。在另一应用场景中,在应用A执行任务A的过程中,当针对应用B的任务B被触发任务跳转时,由应用A调用系统的窗口启动接口,基于窗口启动接口将启动任务B的相关参数发送给系统,系统启动应用B,由应用B启动任务B,其中,应用A以及应用B并行运行。
进一步的,考虑到当执行任务A的应用A与执行任务B的应用B为不同的应用时,应用A无法准确判断应用B运行全屏展示/窗口展示是否与自身的全屏展示存在冲突。因此,在本申请一实施例中,在判断是否需要窗口展示任务B时,在基于应用A判断的基础上,还令系统判断应用B运行全屏展示/窗口展示是否与应用A的全屏展示存在冲突。
进一步的,在实际应用场景中,可用于执行任务B的应用可能是多个,因此,在本申请一实施例中,在基于窗口启动接口启动任务B的过程中,当可用于执行任务B的应用为多个时,首先要确定执行任务B的应用。
具体的,在一应用场景中,当可用于执行任务B的应用为多个时,向用户输出应用选择界面,由用户确认使用哪一个应用启动任务B。在一应用场景中,当可用于执行任务B的应用为多个时,根据任务B的类型,使用预先设定好的应用启动任务B。进一步的,为尽量避免显示冲突,在一应用场景中,当可用于执行任务B的应用为多个时,如果执行任务A的应用可用于执行任务B,则使用执行任务A的应用启动任务B。
进一步的,在本申请一实施例中,当执行任务A的应用A与执行任务B的应用B为不同的应用时,由系统将应用A的窗口启动任务B的请求传递到应用B上,保证应用请求的目标能够达成,如果应用B不支持悬浮窗口打开,则系统自动以全屏形式打开,应用 A不需要确认应用B是否支持悬浮窗,由系统全部托管应用A的请求,不需要应用A做任何合法性校验,大大降低了应用A所需执行的处理量,从而降低了应用开发者的工作量。
图13所示为根据本申请一实施例的任务启动部分流程图。如图13所示:
步骤1310,应用A调用系统的窗口启动接口发起针对任务B的悬浮窗口启动请求;
步骤1320,系统判断是否存在多个可执行任务B的应用;
如果存在,执行步骤1321;
如果只存在一个可执行任务B的应用B,执行步骤1330;
步骤1321,系统向用户输出应用选择界面,请求用户确认执行任务B的应用B;
步骤1330,系统判断应用B是否支持悬浮窗口展示;
当应用B支持悬浮窗口展示时,执行步骤1341;
当应用B不支持悬浮窗口展示时,执行步骤1342;
步骤1341,在全屏展示任务A的基础上,启动任务B,创建悬浮窗口A,基于悬浮窗口A展示任务B;
步骤1342,退出任务A的全屏展示,退出任务A或后台运行任务A,启动任务B,全屏展示任务B。
进一步的,为了确保任务场景不会被中断,保证用户体验,在本申请一实施例中,在基于悬浮窗口展示任务B的过程中,同时维持(Resume)任务A以及任务B的展示内容的生命周期状态。具体的,在一应用场景中,系统保证展示任务A的全屏/分屏/悬浮窗口与展示任务B的悬浮窗口A共存,同时处于Resume的生命周期状态,使得多窗口的业务不中断。
图14所示为根据本申请一实施例的任务启动部分流程图。如图7所示:
步骤1400,应用A基于窗口启动接口将任务B以及悬浮窗口A的窗口参数(例如,窗口类型)发送给系统框架(Framework);
步骤1410,系统框架(Framework)根据悬浮窗口A的窗口参数启动悬浮窗口A,启动任务B并在悬浮窗口A中展示任务B;
步骤1420,在悬浮窗口A展示任务B的过程中,系统框架(Framework)识别任务A 的全屏展示界面/分屏展示窗口/悬浮窗口以及任务B的悬浮窗口A,确保任务A以及任务 B可以同时Resume。
进一步的,在本申请一实施例中,在基于悬浮窗口展示任务B的过程中,任务A以及任务B的展示内容中的操作控件均为可用状态,其中,根据用户操作,在任务A的展示内容以及任务B的展示内容间切换操作焦点。具体的,在一应用场景中,系统框架 (Framework)确保用户点击不同窗口可以把焦点切到所点击的窗口之上,保证焦点切换过程正确。在层级管理上,悬浮窗层级高于全屏或者分屏,全屏页面和分屏的层级相同。
图15所示为根据本申请一实施例的任务启动部分流程图。以任务A全屏展示为例,假设当前焦点为全屏展示的任务A,如图8所示:
步骤1500,用户执行点击窗口操作;
步骤1510,系统框架(Framework)检测用户点击落点命中窗口;
步骤1520,判断用户点击是否命中悬浮窗口A;
如果命中,执行步骤1530;
如果未命中,执行步骤1540;
步骤1530,焦点切换给悬浮窗口A的任务B;
步骤1540,焦点保留在任务A。
进一步的,在实际应用场景中,用户的浏览/操作需求并不是一成不变的。在使用悬浮窗口A展示任务B的过程中,用户可能需要全屏展示任务B。针对用户全屏展示任务B 的需求,一种可行的方案是直接关闭任务A的展示界面,全屏展示任务B,但这就会导致任务A的任务场景被完全中断。针对这一问题,为了避免完全中断任务A的任务场景,在本申请一实施例中,基于悬浮窗口A展示任务B之后:
当针对任务B的全屏展示被触发,且,任务A支持悬浮窗口展示时,关闭悬浮窗口A,全屏展示任务B,创建悬浮窗口C,基于悬浮窗口C展示任务A。
进一步的,在实际应用场景中,在使用悬浮窗口A展示任务B的过程中,用户可能需要分屏展示任务B以及任务B。针对这一应用需求,在本申请一实施例中,基于悬浮窗口A展示任务B之后:
在任务A当前的展示状态为全屏展示时,当针对任务B的分屏展示被触发,且,任务A支持分屏展示时,关闭悬浮窗口A,分屏展示任务A以及任务B;
在任务A当前的展示状态为,与任务C分屏展示时,当针对任务B的分屏展示被触发,且,任务C支持悬浮窗口展示时,关闭悬浮窗口A,分屏展示任务A以及任务B,创建悬浮窗口B,基于悬浮窗口B展示任务C;
和/或,
在任务A当前的展示状态为悬浮窗口展示时,当针对任务B的分屏展示被触发,且,任务A支持分屏展示时,关闭任务A的悬浮窗口以及悬浮窗口A,分屏展示任务A以及任务B。
进一步的,在实际应用场景中,在使用悬浮窗口A展示任务B的过程中,用户的关注重心在任务A与任务B之间切换,当用户的关注重心由任务A切换到任务B时,为了确保用户的视觉体验,一种优选的方案是交换任务A与任务B的展示方式,例如,将切换为关注重心的任务B切换为全屏展示,将任务A切换为悬浮窗口展示。因此,在本申请一实施例中,提供了展示状态交换模式。
具体的,在本申请一实施例中,基于悬浮窗口A展示任务B之后:
在任务A当前的展示状态为全屏展示时,当针对任务B的展示状态交换被触发,且,任务A支持悬浮窗口展示时,关闭悬浮窗口A,全屏展示任务B,创建悬浮窗口B,基于悬浮窗口B展示任务A,其中,悬浮窗口B与悬浮窗口A的大小位置一致;
和/或,
在任务A当前的展示状态为,与任务C分屏展示时,当针对任务B的展示状态交换被触发,且,任务A支持悬浮窗口展示时,关闭悬浮窗口A,分屏展示任务C以及任务B,创建悬浮窗口B,基于悬浮窗口B展示任务A,其中,悬浮窗口B与悬浮窗口A的大小位置一致;
和/或,
在任务A当前的展示状态为悬浮窗口展示时,当针对任务B的展示状态交换被触发时,交换展示任务A的悬浮窗口与悬浮窗口A的位置以及窗口大小设置。
可以理解的是,上述实施例中的部分或全部步骤骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
进一步的,根据本申请实施例所提出的任务启动方法,本申请一实施例还提出了一种任务启动装置。装置包括:
接口调用模块,其用于在第一应用的第一任务运行并在屏幕上进行的过程中,当第一任务触发针对第二任务的任务跳转时,如果需要窗口展示第二任务,调用系统的窗口启动接口,窗口启动接口为系统级公共标准应用程序接口,窗口启动接口用于生成第一悬浮窗口的窗口参数;
任务启动模块,其用于基于窗口启动接口启动第二任务,包括:
当第二任务支持悬浮窗口展示时,在保持第一任务当前的展示状态不变的基础上,启动第二任务,基于窗口启动接口创建第一悬浮窗口,基于第一悬浮窗口展示第二任务,其中,第一任务的展示状态包括全屏展示、和/或分屏展示、和/或悬浮窗口展示。
进一步的,在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(FieldProgrammable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由访问方对器件编程来确定。由设计人员自行编程来把一个数字装置“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL (Altera HardwareDescription Language)、Confluence、CUPL(Cornell University ProgrammingLanguage)、HDCal、JHDL(Java Hardware Description Language)、Lava、 Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与 Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器: ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
在本申请实施例的描述中,为了描述的方便,描述装置时以功能分为各种模块分别描述,各个模块的划分仅仅是一种逻辑功能的划分,在实施本申请实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
具体的,本申请实施例所提出的装置在实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,检测模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个数字信号处理器(Digital Singnal Processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)等。再如,这些模块可以集成在一起,以片上装置(System-On-a-Chip,SOC)的形式实现。
本申请一实施例还提出了一种电子设备,电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发电子设备执行如本申请实施例所述的方法步骤。
具体的,在本申请一实施例中,上述一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述设备执行时,使得上述设备执行本申请实施例所述的方法步骤。
具体的,在本申请一实施例中,电子设备的处理器可以是片上装置SOC,该处理器中可以包括中央处理器(Central Processing Unit,CPU),还可以进一步包括其他类型的处理器。具体的,在本申请一实施例中,电子设备的处理器可以是PWM控制芯片。
具体的,在本申请一实施例中,涉及的处理器可以例如包括CPU、DSP、微控制器或数字信号处理器,还可包括GPU、嵌入式神经网络处理器(Neural-network Process Units,NPU)和图像信号处理器(Image Signal Processing,ISP),该处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如ASIC,或一个或多个用于控制本申请技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储介质中。
具体的,在本申请一实施例中,电子设备的存储器可以是只读存储器(read-onlymemory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何计算机可读介质。
具体的,在本申请一实施例中,处理器可以和存储器可以合成一个处理装置,更常见的是彼此独立的部件,处理器用于执行存储器中存储的程序代码来实现本申请实施例所述方法。具体实现时,该存储器也可以集成在处理器中,或者,独立于处理器。
进一步的,本申请实施例阐明的设备、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
本领域内的技术人员应明白,本申请实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
具体的,本申请一实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。
本申请一实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。
本申请中的实施例描述是参照根据本申请实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B 可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本申请实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以意识到,本申请实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种任务启动方法,其特征在于,包括:
在第一应用的第一任务运行并在屏幕上进行的过程中,当第一任务触发针对第二任务的任务跳转时,如果需要窗口展示所述第二任务,调用系统的窗口启动接口,所述窗口启动接口为系统级公共标准应用程序接口,所述窗口启动接口用于生成第一悬浮窗口的窗口参数;
基于所述窗口启动接口启动所述第二任务,包括:
当所述第二任务支持悬浮窗口展示时,在保持所述第一任务当前的展示状态不变的基础上,启动所述第二任务,基于所述窗口启动接口创建所述第一悬浮窗口,基于所述第一悬浮窗口展示所述第二任务,其中,所述第一任务的展示状态包括全屏展示、和/或分屏展示、和/或悬浮窗口展示。
2.根据权利要求1所述的方法,其特征在于,在基于所述第一悬浮窗口展示所述第二任务的过程中,同时维持所述第一任务以及所述第二任务的展示内容的生命周期状态。
3.根据权利要求1或2所述的方法,其特征在于,在基于所述第一悬浮窗口展示所述第二任务的过程中,所述第一任务以及所述第二任务的展示内容中的操作控件均为可用状态,其中,根据用户操作,在所述第一任务的展示内容以及所述第二任务的展示内容间切换操作焦点。
4.根据权利要求1~3中任一项所述的方法,其特征在于,所述第二任务为所述第一应用的任务,或者,所述第二任务为所述第一应用以外的第二应用的任务。
5.根据权利要求1~4中任一项所述的方法,其特征在于,所述基于所述第一悬浮窗口展示所述第二任务之后,所述方法还包括:
当针对所述第二任务的全屏展示被触发,且,所述第一任务支持悬浮窗口展示时,关闭所述第一悬浮窗口,全屏展示所述第二任务,创建第二悬浮窗口,基于所述第二悬浮窗口展示所述第一任务。
6.根据权利要求1~4中任一项所述的方法,其特征在于,所述基于所述第一悬浮窗口展示所述第二任务之后,所述方法还包括:
在所述第一任务当前的展示状态为全屏展示时,当针对所述第二任务的分屏展示被触发,且,所述第一任务支持分屏展示时,关闭所述第一悬浮窗口,分屏展示所述第一任务以及所述第二任务;
和/或,
在所述第一任务当前的展示状态为,与第三任务分屏展示时,当针对所述第二任务的分屏展示被触发,且,所述第三任务支持悬浮窗口展示时,关闭所述第一悬浮窗口,分屏展示所述第一任务以及所述第二任务,创建第二悬浮窗口,基于所述第二悬浮窗口展示所述第三任务;
和/或,
在所述第一任务当前的展示状态为悬浮窗口展示时,当针对所述第二任务的分屏展示被触发,且,所述第一任务支持分屏展示时,关闭所述第一任务的悬浮窗口以及所述第一悬浮窗口,分屏展示所述第一任务以及所述第二任务。
7.根据权利要求1~4中任一项所述的方法,其特征在于,所述基于所述第一悬浮窗口展示所述第二任务之后,所述方法还包括:
在所述第一任务当前的展示状态为全屏展示时,当针对所述第二任务的展示状态交换被触发,且,所述第一任务支持悬浮窗口展示时,关闭所述第一悬浮窗口,全屏展示所述第二任务,创建第二悬浮窗口,基于所述第二悬浮窗口展示所述第一任务,其中,所述第二悬浮窗口与所述第一悬浮窗口的大小位置一致;
和/或,
在所述第一任务当前的展示状态为,与第三任务分屏展示时,当针对所述第二任务的展示状态交换被触发,且,所述第一任务支持悬浮窗口展示时,关闭所述第一悬浮窗口,分屏展示所述第三任务以及所述第二任务,创建第二悬浮窗口,基于所述第二悬浮窗口展示所述第一任务,其中,所述第二悬浮窗口与所述第一悬浮窗口的大小位置一致;
和/或,
在所述第一任务当前的展示状态为悬浮窗口展示时,当针对所述第二任务的展示状态交换被触发时,交换展示所述第一任务的悬浮窗口与所述第一悬浮窗口的位置以及窗口大小设置。
8.根据权利要求1所述的方法,其特征在于,所述基于所述窗口启动接口启动所述第二任务,还包括:
当所述第二任务不支持悬浮窗口展示时,启动所述第二任务,退出所述第一任务或后台运行所述第一任务,全屏展示所述第二任务。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一任务进行全屏展示的过程中,当针对所述第二任务的任务跳转被触发时,由所述第一应用判断是否需要窗口展示所述第二任务。
10.一种电子设备,其特征在于,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如权利要求1~9中任一项所述的方法步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-9中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010851050.6A CN114077455A (zh) | 2020-08-21 | 2020-08-21 | 一种任务启动方法和电子设备 |
EP21857731.0A EP4198721A4 (en) | 2020-08-21 | 2021-08-19 | METHOD FOR STARTING A TASK, AND ELECTRONIC DEVICE |
PCT/CN2021/113492 WO2022037639A1 (zh) | 2020-08-21 | 2021-08-19 | 一种任务启动方法和电子设备 |
US18/171,473 US20230244510A1 (en) | 2020-08-21 | 2023-02-20 | Task Start Method and Electronic Device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010851050.6A CN114077455A (zh) | 2020-08-21 | 2020-08-21 | 一种任务启动方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114077455A true CN114077455A (zh) | 2022-02-22 |
Family
ID=80282611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010851050.6A Pending CN114077455A (zh) | 2020-08-21 | 2020-08-21 | 一种任务启动方法和电子设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230244510A1 (zh) |
EP (1) | EP4198721A4 (zh) |
CN (1) | CN114077455A (zh) |
WO (1) | WO2022037639A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686338B (zh) * | 2022-12-07 | 2023-05-05 | 荣耀终端有限公司 | 分屏方法及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942039A (zh) * | 2013-01-23 | 2014-07-23 | 深圳市微讯移通信息技术有限公司 | 在手机的一个任务窗口内切换游戏/访问平台的方法 |
CN104090720A (zh) * | 2014-04-10 | 2014-10-08 | 中兴通讯股份有限公司 | 一种基于手势操作调整终端窗口显示的方法及装置 |
CN104317562A (zh) * | 2014-09-25 | 2015-01-28 | 北京金山安全软件有限公司 | 信息的展现方法、装置及终端 |
CN105955802A (zh) * | 2016-04-21 | 2016-09-21 | 青岛海信移动通信技术股份有限公司 | 一种移动终端的应用运行方法及移动终端 |
CN107391246A (zh) * | 2017-07-19 | 2017-11-24 | 维沃移动通信有限公司 | 一种应用启动方法、移动终端及计算机可读存储介质 |
CN108182021A (zh) * | 2018-01-30 | 2018-06-19 | 腾讯科技(深圳)有限公司 | 多媒体信息展示方法、装置、存储介质及设备 |
US20180284948A1 (en) * | 2017-03-29 | 2018-10-04 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus for split-window display |
CN109995940A (zh) * | 2019-03-27 | 2019-07-09 | 上海掌门科技有限公司 | 通信业务连接界面显示方法及设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335044A (zh) * | 2014-08-11 | 2016-02-17 | 中兴通讯股份有限公司 | 分屏模式下的窗口显示处理方法及电子设备 |
CN107526494B (zh) * | 2017-09-06 | 2021-02-09 | 北京小米移动软件有限公司 | 键盘显示方法、装置、终端及存储介质 |
CN108089786B (zh) * | 2017-12-14 | 2019-12-31 | Oppo广东移动通信有限公司 | 用户界面显示方法、装置、设备及存储介质 |
-
2020
- 2020-08-21 CN CN202010851050.6A patent/CN114077455A/zh active Pending
-
2021
- 2021-08-19 WO PCT/CN2021/113492 patent/WO2022037639A1/zh active Application Filing
- 2021-08-19 EP EP21857731.0A patent/EP4198721A4/en active Pending
-
2023
- 2023-02-20 US US18/171,473 patent/US20230244510A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942039A (zh) * | 2013-01-23 | 2014-07-23 | 深圳市微讯移通信息技术有限公司 | 在手机的一个任务窗口内切换游戏/访问平台的方法 |
CN104090720A (zh) * | 2014-04-10 | 2014-10-08 | 中兴通讯股份有限公司 | 一种基于手势操作调整终端窗口显示的方法及装置 |
CN104317562A (zh) * | 2014-09-25 | 2015-01-28 | 北京金山安全软件有限公司 | 信息的展现方法、装置及终端 |
CN105955802A (zh) * | 2016-04-21 | 2016-09-21 | 青岛海信移动通信技术股份有限公司 | 一种移动终端的应用运行方法及移动终端 |
US20180284948A1 (en) * | 2017-03-29 | 2018-10-04 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus for split-window display |
CN107391246A (zh) * | 2017-07-19 | 2017-11-24 | 维沃移动通信有限公司 | 一种应用启动方法、移动终端及计算机可读存储介质 |
CN108182021A (zh) * | 2018-01-30 | 2018-06-19 | 腾讯科技(深圳)有限公司 | 多媒体信息展示方法、装置、存储介质及设备 |
CN109995940A (zh) * | 2019-03-27 | 2019-07-09 | 上海掌门科技有限公司 | 通信业务连接界面显示方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
EP4198721A1 (en) | 2023-06-21 |
US20230244510A1 (en) | 2023-08-03 |
EP4198721A4 (en) | 2024-01-31 |
WO2022037639A1 (zh) | 2022-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8756516B2 (en) | Methods, systems, and computer program products for interacting simultaneously with multiple application programs | |
US20160188363A1 (en) | Method, apparatus, and device for managing tasks in multi-task interface | |
US9720557B2 (en) | Method and apparatus for providing always-on-top user interface for mobile application | |
KR101451882B1 (ko) | 애플리케이션 콘텍스트로의 딥 링크를 위한 방법 및 시스템 | |
US20160196006A1 (en) | Customizable Bladed Applications | |
JP2006164260A (ja) | データ処理装置及びシステムのためのユーザインターフェイス | |
JP2006164261A (ja) | 改良型ユーザインターフェイスを有するデータ処理装置及びシステム | |
CN110496395B (zh) | 一种针对虚幻引擎的组件运行方法、系统及设备 | |
EP3757739A1 (en) | Method for display when exiting an application, and terminal | |
CN114302238B (zh) | 一种音箱模式下提示信息的展示方法及显示设备 | |
US20210216177A1 (en) | Navigation bar controlling method and terminal | |
CN112148178A (zh) | 应用切换方法、装置、电子设备及可读存储介质 | |
CN113051493A (zh) | 应用程序展示方法、装置、存储介质以及终端 | |
KR20180051653A (ko) | 일시적인 그래픽 객체를 렌더링하는 방법 및 장치 | |
CN114302201A (zh) | 一种音箱模式下自动开关屏的方法及智能终端、显示设备 | |
US20200028961A1 (en) | Switching presentations of representations of objects at a user interface | |
WO2019201134A1 (zh) | 分屏显示方法、存储介质及电子设备 | |
US20230244510A1 (en) | Task Start Method and Electronic Device | |
CN112882619B (zh) | 应用界面的管理方法、装置、电子设备及介质 | |
US20240095048A1 (en) | Program control method and apparatus, electronic device, and non-transitory readable storage medium | |
US9218788B2 (en) | Information-processing device and program for displaying a window group including a plurality of windows | |
WO2024066759A1 (zh) | 一种切换应用的方法、装置、设备及介质 | |
CN110691167B (zh) | 一种显示单元的控制方法、装置 | |
CN109874044B (zh) | 一种数据预存方法、系统、设备及计算机可读介质 | |
US20210026913A1 (en) | Web browser control feature |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |