CN114579020A - 一种跨应用迁移显示元素的方法及电子设备 - Google Patents
一种跨应用迁移显示元素的方法及电子设备 Download PDFInfo
- Publication number
- CN114579020A CN114579020A CN202011380975.3A CN202011380975A CN114579020A CN 114579020 A CN114579020 A CN 114579020A CN 202011380975 A CN202011380975 A CN 202011380975A CN 114579020 A CN114579020 A CN 114579020A
- Authority
- CN
- China
- Prior art keywords
- application
- component
- target display
- interface
- display element
- 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
- 238000000034 method Methods 0.000 title claims abstract description 81
- 230000008569 process Effects 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 238000009434 installation Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 abstract description 49
- 230000005012 migration Effects 0.000 abstract description 22
- 238000013508 migration Methods 0.000 abstract description 22
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 10
- 238000011161 development Methods 0.000 description 7
- 238000003825 pressing Methods 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/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/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/0486—Drag-and-drop
-
- 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
- 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
- G06F3/04886—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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Stored Programmes (AREA)
Abstract
一种跨应用迁移显示元素的方法及电子设备,涉及操作系统领域,可以使得用户实现跨应用的迁移显示组件的功能,满足用户对应用程序的个性化需求,该方法具体包括:应用程序包括应用组件和多个显示组件,其中应用组件与显示组件,各个显示组件之间均为独立编译的,启动第一应用时,电子设备启动第一应用对应的第一应用组件和目标显示元素,当接收到迁移目标显示元素值第二应用时,第一应用组件将目标显示元素的标识发送给第二应用对应的第二应用组件,并关闭目标显示元素,由第二应用组件启动目标显示元素,当重启第二应用时,第二应用组件启动目标显示元素。
Description
技术领域
本申请涉及操作系统领域,尤其涉及一种跨应用迁移显示元素的方法及电子设备。
背景技术
在终端领域,应用开发者都是独立地开发和编译各个应用程序,生成各个应用程序独立的安装包,并发布在应用市场上。当终端从应用市场下载所需要的应用程序的安装包后,对其进行解压安装。终端在运行各个应用程序时,也就是在独立的进程中运行各个应用程序,从而保证各个应用程序的稳定运行。
然而,这种独立编译和独立运行的应用程序机制,也造成了各个应用程序的功能模块以及页面跳转逻辑等在开发时已经完全确定,用户无法参与到对应用程序中的功能模块的编排中,无法满足用户对应用程序的个性化需求。
发明内容
本申请提供的一种跨应用迁移显示元素的方法及电子设备,可以使得用户实现跨应用的迁移显示组件的功能,满足用户对应用程序的个性化需求。
为了实现上述目的,本申请实施例提供了以下技术方案:
第一方面、提供一种跨应用迁移显示元素的方法,一种跨应用迁移显示元素的方法,该方法包括:电子设备显示第一应用的第一界面和第二应用的第二界面,第一界面包括目标显示元素;电子设备接收针对目标显示元素的第一操作;响应于接收到第一操作,电子设备显示第一应用的第三界面和第二应用的第四界面,其中,第三界面中不包括目标显示元素,第四界面中包括目标显示元素。
由此可见,用户可以执行第一操作,将第一应用的第一界面中的目标显示元素迁移至第二应用的第二界面中。即,实现跨应用迁移显示元素的效果。换言之。用户在运行应用程序时可以自由组装应用程序中的显示组件,满足用户的个性化需求。例如,用户可以将自己经常使用的应用功能组合成一个应用程序。这样,用户开启该应用程序后,就可以满足用户大多数时候对应用功能的使用需求。又例如,在某个包含多个应用功能的应用程序中,用户可以将部分应用功能切换为自己喜欢的版本,如将音乐播放器切换为自己喜欢的厂商开发的版本。这样,有利于提升用户使用该应用程序的用户体验。
此外,本申请的方法也有利于应用开发人员专注在独立单一的应用功能的开发,极大地降低了开发人员的开发难度,也减少了开发工作量。
一种可能的实现方式中,电子设备显示第一应用的第一界面和第二应用的第二界面,包括:电子设备启动第一应用组件和目标显示组件,以及启动第二应用组件;其中,第一应用组件包括第一应用的入口执行程序和配置文件,第一应用组件的配置文件中包含目标显示元素的标识;第一应用组件中不包含目标显示元素的页面程序包;目标显示组件包括目标显示元素的页面程序包;第二应用组件包括第二应用的入口执行程序和配置文件,第二应用组件的配置文件中不包含目标显示元素的标识,以及目标显示元素的页面程序包。
其中入口可执行程序为应用程序启动时首先启动的程序代码,例如main函数引导的程序代码。配置文件包括该应用程序的包名(也即应用组件的包名)、版本号、应用图标等信息。配置文件中还包括首页对应的一个或多个显示组件的信息,即首页包含的一个或多个显示元素对应的显示组件的信息。其中,显示组件的信息包括显示组件的包名和版本号(或称为显示元素的包名和版本号)。一些示例中,配置文件中还包括首页依赖的其他显示组件的信息。首页依赖的其他显示组件例如为首页跳转到其他页面时,组成其他页面的显示元素对应的显示组件。
上述目标显示元素的页面程序包(即目标显示组件),包括资源文件、代码文件和配置文件。其中,资源文件为显示该显示元素所需的图片、音视频资源、网络链接等。例如,资源文件放置在res目录下。代码文件则执行显示组件控制逻辑的页面代码,例如放置在code.so目录下。配置文件则包括显示组件的包名、版本号、以及依赖的其他显示组件的信息。
由上可见,开发人员不仅独立编译和打包启动显示组件所需文件与启动应用程序的入口程序包,而且独立编译和打包不同的显示组件所需的文件。由此,本申请的方案实现了应用程序组件化的目标,进而能够实现将一个应用上的显示组件迁移到另一个应用上,并且不影响各个应用上其他显示组件的显示和运行。
一种可能的实现方式中,响应于接收到第一操作,电子设备显示第一应用的第三界面和第二应用的第四界面,第四界面中包括目标显示元素,包括:第一应用组件将目标显示元素的标识,发送给第二应用组件;第一应用组件关闭目标显示组件;以及第二应用组件根据目标显示元素的标识,启动目标显示组件,并显示目标显示元素。
其中,第一应用组件和第二应用组件为不同的进程,可以通过IPC通信传递数据。由此提供一种迁移显示元素的具体实现方式。
一种可能的实现方式中,第一应用组件将目标显示元素的标识,发送给第二应用组件,包括:第一应用组件根据第一操作,确定第二应用组件的标识;第一应用组件根据第二应用组件的标识,向第二应用组件发送目标显示元素的标识。
由此提供一种第一应用组件获取第二应用组件的标识的具体实现方式。
一种可能的实现方式中,第一操作为拖动目标显示元素移动到第二应用的第二界面上后离开显示屏的操作,第一应用组件根据第一操作,确定第二应用组件的标识,具体为:第一应用组件根据离开显示屏时的位置,确定第二应用组件的标识。
一种可能的实现方式中,目标显示元素的标识包括目标显示元素的包名和/或版本号。
一种可能的实现方式中,第二应用组件的标识包括第一应用组件的进程标识。
一种可能的实现方式中,在电子设备显示第一应用的第三界面和第二应用的第四界面之后,第一应用组件的配置文件中不包含目标显示元素的标识;第二应用组件的配置文件中包含目标显示元素的标识。
在一些示例中,当用户指示将第一应用第一界面中的目标显示元素迁移至第二应用的第二界面时,第一应用组件修改配置文件,删除目标显示元素的标识。第二应用组件修改配置文件,增加目标显示元素的标识。这样,当后续启动第一应用时,不再显示目标显示元素,当后续启动第二应用时,可以显示目标显示元素。即,实现对应用程序功能模块的组装。
一种可能的实现方式中,第一应用的第一界面为第一应用的首页,该方法还包括:电子设备退出第一应用;电子设备接收开启第一应用的第二操作;响应于接收到第二操作,电子设备显示第一应用的首页,第一应用的首页中不包含目标显示元素。
一种可能的实现方式中,第二应用的第二界面为第二应用的首页,该方法还包括:电子设备退出第二应用;电子设备接收开启第二应用的第三操作;响应于接收到第三操作,电子设备显示第二应用的首页,第二应用的首页包含目标显示元素。
一种可能的实现方式中,第一应用的第一界面为应用市场的应用下载列表,目标显示元素为应用下载列表中的一项;响应于接收到第一操作,电子设备显示第一应用的第三界面和第二应用的第四界面,第四界面中包括目标显示元素,包括:第一应用组件根据第一操作,确定第二应用元素的标识;以及第一应用组件根据目标显示元素的标识,请求下载并安装目标显示元素的安装包;第一应用组件根据第二应用组件的标识,向第二应用组件发送目标显示元素的标识;第二应用组件根据目标显示元素的标识,启动目标显示组件,并显示目标显示元素。
由此提供了一种从应用市场中选择未下载的应用组件,组装定制化的应用程序的示例。
第二方面、提供一种电子设备,其特征在于,包括:处理器、存储器和触摸屏,存储器、触摸屏与处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器运行存储器中计算机指令,以使得电子设备执行如上述方面及其中任一种可能的实现方式中所述的方法。
第三方面、提供一种装置,该装置包含在电子设备中,该装置具有实现上述方面及可能的实现方式中任一方法中电子设备行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括至少一个与上述功能相对应的模块或单元。例如,接收模块或单元、显示模块或单元、以及处理模块或单元等。
第四方面、提供一种计算机可读存储介质,包括计算机指令,当计算机指令在终端上运行时,使得终端执行如上述方面及其中任一种可能的实现方式中所述的方法。
第五方面、提供一种电子设备上的图形用户界面,所述电子设备具有显示屏、摄像头、存储器、以及一个或多个处理器,所述一个或多个处理器用于执行存储在所述存储器中的一个或多个计算机程序,所述图形用户界面包括所述电子设备执行如上述方面及其中任一种可能的实现方式中所述的方法时显示的图形用户界面。
第六方面、提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如上述方面中及其中任一种可能的实现方式中所述的方法。
第七方面、提供一种芯片系统,包括处理器,当处理器执行指令时,处理器执行如上述方面中及其中任一种可能的实现方式中所述的方法。
可以理解地,上述各个方面所提供的电子设备、装置、计算机可读存储介质以及计算机程序产品、图形用户界面、芯片系统均应用于上文所提供的对应方法,因此,其所能达到的有益效果可参考上文所提供的对应方法中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种应用程序的安装包的结构示意图;
图2A为本申请实施例提供的一种电子设备的硬件结构示意图;
图2B为本申请实施例提供的一种电子设备的软件结构示意图;
图3A为本申请实施例提供的一种应用的显示界面的示意图;
图3B为本申请实施例提供的一种组件树的结构示意图;
图3C为本申请实施例提供的另一种组件树的结构示意图;
图4A为本申请实施例提供的一种显示元素迁移方法的流程示意图;
图4B为本申请实施例提供的一些电子设备的显示界面的示意图;
图4C为本申请实施例提供的又一些电子设备的显示界面的示意图;
图4D为本申请实施例提供的又一些电子设备的显示界面的示意图;
图5A为本申请实施例提供的一种显示界面的布局方法的示意图;
图5B为本申请实施例提供的一种应用的显示界面的划分象限的示意图;
图5C为本申请实施例提供的又一种显示界面的布局方法的示意图;
图6为本申请实施例提供的又一种显示元素迁移方法的流程示意图;
图7为本申请实施例提供的又一种显示元素迁移方法的流程示意图;
图8A为本申请实施例提供的又一些电子设备的显示界面的示意图;
图8B为本申请实施例提供的又一些电子设备的显示界面的示意图;
图9为本申请实施例提供的一种芯片系统的结构示意图。
具体实施方式
在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例提供了一种应用程序组件化的方案,即一个应用程序包括多个独立的功能模块,每个功能模块以通用接口进行对接。这样,开发人员或用户可以通过组装这些功能模块,得到个性化定制的应用程序。例如,一个应用程序的显示界面可以包括多个显示元素。其中,一个显示元素对应一个显示组件,且每个显示组件可以独立运行。其中,显示元素为该应用程序的显示界面中的显示单元,包括视图控件、图片、视频、文字等。显示组件,为对应的显示元素的页面程序包,为具有界面的最小显示组件类组件。
示例性的,如图1所示,为本申请实施例提供的一种应用程序安装包的结构示意图。具体的,一个应用程序的安装包包括一个入口程序包(也可以称为该应用程序对应的应用组件),以及包括一个或多个显示元素的页面程序包(即显示组件)。需要注意的是,该入口程序包与各个显示元素的页面程序包,以及各个显示元素的页面程序包之间均不存在耦合,均为独立编译和打包组成的。也就是说,开发人员在设计开发应用程序时,将该应用程序的入口程序以及各个页面的程序分别打包成不同的安装包。
具体的,上述入口程序包可以包括入口可执行程序和配置文件。其中入口可执行程序为应用程序启动时首先启动的程序代码,例如main函数引导的程序代码。配置文件包括该应用程序的包名(也即应用组件的包名)、版本号、应用图标等信息。配置文件中还包括首页对应的一个或多个显示组件的信息,即首页包含的一个或多个显示元素对应的显示组件的信息。其中,显示组件的信息包括显示组件的包名和版本号(或称为显示元素的包名和版本号)。一些示例中,配置文件中还包括首页依赖的其他显示组件的信息。首页依赖的其他显示组件例如为首页跳转到其他页面时,组成其他页面的显示元素对应的显示组件。
以下给出一个应用组件的配置文件的代码示意。
可以需要注意到,入口程序包中仅包含所需显示组件的信息,并不包含显示组件对应的页面程序包。
上述显示组件的页面程序包,包括资源文件、代码文件和配置文件。其中,资源文件为显示该显示组件所需的图片、音视频资源、网络链接等。例如,资源文件放置在res目录下。代码文件则执行显示组件控制逻辑的页面代码,例如放置在code.so目录下。配置文件则包括显示组件的包名、版本号、以及依赖的其他显示组件的信息。
以下给出一个显示组件的配置文件的代码示意。
需要说明的是,不仅独立编译和打包启动显示组件所需文件与启动应用程序的入口程序包,而且独立编译和打包不同的显示组件所需的文件。由此,本申请的方案实现了应用程序组件化的目标,进而能够实现将一个应用上的显示组件迁移到另一个应用上,并且不影响各个应用上其他显示组件的显示和运行。
本申请实施例提供的技术方案可应用于安装有应用程序的电子设备中。示例性的,本申请实施例中电子设备例如可以为手机、平板电脑、个人计算机(personalcomputer,PC)、个人数字助理(personal digital assistant,PDA)、上网本、可穿戴电子设备(例如智能手环、智能手表)、增强现实技术(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、车载设备、智慧屏、智能汽车、智能音响、机器人等,本申请对该电子设备的具体形式不做特殊限制。
如图2A所示,为本申请实施例提供的一种电子设备100的结构示意图。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。摄像头193用于捕获静态图像或视频。数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。耳机接口170D用于连接有线耳机。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。
具体的,电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构为例,示例性说明电子设备100的软件结构。
如图2B所示,为本发明实施例提供的一种电子设备100的软件结构框图的示意。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。
其中,电子设备100顶层可以包括应用模块、显示模块和服务模块等直接面向开发人员和用户的功能模块。
其中,服务模块中包括多个独立的服务(Service)组件(也可简称为服务),例如服务组件1、服务组件2。其中服务组件为不具有界面的后台服务应用类组件,且服务组件在运行时以进程形式独立存在。在服务组件中有一个特殊的服务组件-组件管理服务(Component Manager Service,CMS)。CMS用于管理所有组件(包括应用组件、显示组件和服务组件)的专用系统服务组件,是系统启动后的第一个服务组件。
在服务组件中,还有一个应用包管理服务(Package Manager Service,PMS),用于管理各个组件(包括显示组件、应用组件、服务组件等)的安装包的下载、安装、升级和卸载等。PMS的生命周期也由CMS管理。
其中,应用模块包括多个应用组件,例如应用组件1、应用组件2。其中应用组件为应用程序提供界面的前台应用类组件,且应用组件在运行时以进程形式独立存在,且生命周期由CMS管理。本申请中,一个应用程序对应一个应用组件,该应用组件的配置文件中包括应用程序首页对应的显示组件的包名、版本号等。其中首页对应的显示组件的数量为一个或多个。另一些示例中,该应用组件还包括应用程序首页依赖的显示组件的包名、版本号等。其中,首页依赖的显示组件例如为首页跳转到其他页面时,其他页面对应的显示组件。
其中,显示模块包括多个显示组件,例如显示组件1、显示组件2和显示组件3。显示组件为具有界面的最小显示类组件。在一些示例中,显示组件可以以应用组件为宿主,即需将显示组件挂载到应用组件上。前文已说明,应用组件的配置文件中包含显示组件的包名和版本号。当启动应用组件时,会启动挂载在该应用组件上的显示组件。当关闭应用组件时,也将关闭挂载在该应用组件上的显示组件。一般,显示组件的生命周期由作为宿主的应用组件管理。但,当显示组件处于迁移状态时,显示组件的生命周期可以由CMS管理,并且由CMS修改显示组件与应用组件的挂载关系,实现跨应用程序的迁移功能。在其他一些实施例中,显示组件也可以不以应用组件为宿主,独立运行。
举个例子,以电子设备100是车机为例。如图3A所示,为车机的首页应用的显示界面的示例。首页应用包括一个应用组件以及三个显示组件。其中三个显示组件分别对应首页上的三个显示元素:导航栏201、行车导航界面202以及通话界面203。即,当车机启动首页应用时,启动应用组件,并根据应用组件的配置文件中显示组件的信息,分别启动各个显示组件,分别显示导航栏201、行车导航界面202以及通话界面203。也就是说,这三个显示组件挂载在该应用组件上。
需要说明的是,一些显示组件可能需要关联一些服务组件,即某些显示组件需与一些服务组件建立通信。例如,车机在显示行车导航界面202时,需调用地图服务组件和音频服务组件。其中地图服务组件,用于提供定位功能,以及计算当前定位与目的地之间的路线等。音频服务组件,用于播放导航语音。又例如,车机在显示通话界面203需调用通话服务组件和音频服务组件。其中通话服务组件,用于提供车机与其他终端之间的通话功能。音频服务组件用于提供播放其他终端的用户语音以及拾取本车机用户语音。
由于上述三个显示元素对应的(导航栏201、行车导航界面202以及通话界面203)为显示组件相互独立的模块,那么,针对任一显示组件执行的操作,将不会影响其他的显示组件。
例如,关闭通话界面203的显示组件,不会影响到导航栏201和行车导航界面202。具体的,车机的系统服务组件CMS删除通话界面203与应用组件的挂载关系,而未对导航栏201和行车导航界面202与应用组件的挂载关系进行修改。并且,CMS会自动关闭通话界面203关联的服务组件(如通话服务组件、音频服务组件等)。
当上述三个显示组件中任一个显示组件处于迁移状态时,则由车机的系统CMS修改该迁移状态的显示组件与应用组件的挂载关系。例如,当检测到用户在通话界面203拖到应用组件到其他应用组件(例如应用组件A)上时,车机CMS保存通话界面203的相关信息,并传递给应用组件A。CMS在应用组件中关闭通话界面203,以及暂停通话界面203关联的通话服务组件和音频服务组件。而后,CMS将通话界面203的包名和版本号等信息传递给应用组件A,由应用组件A重新启动通话界面203,并恢复通话界面203关联的通话服务组件和音频服务组件。即,CMS将通话界面203的挂载关系由挂载在应用组件上修改为挂载在应用组件A上。即,实现将通话界面203从首页应用迁移至应用组件A对应的应用上。需要说明的是,与此同时,导航栏201和行车导航界面202不受通话界面203迁移的影响。其中,显示组件具体的迁移流程将在下文详细描述。
回到图2B,电子设备200的中间层可以包括用户界面框架(UIkit)模块、进程(Process)模块、跨进程通信(Inter-Process Communication,IPC)模块,数据库(DataBase)模块和模型-视图-控制设计模式(model-view-presenter design,MVP)模块。其中,Uikit模块,用于提供应用程序显示所需的基础图形绘制功能。Process模块,用于提供应用程序进程、线程、进程创建、销毁等一系列基础功能。IPC模块,用于提供进程之间数据和信号交换的功能。DataBase,用于提供需要本地持久化数据存储的功能。MVP模块,用于提供界面内的视图显示控制和数据控制能力。
电子设备200的底层包括操作系统内核(OS Kernel)模块,用于为应用程序框架提供底层运行环境。
为了更好的理解本申请实施例提供的技术方案,先对本申请实施例中CMS对各类组件(包括应用组件、显示组件、服务组件)的管理机制进行介绍。
在一些实施例中,CMS可以通过组件树的方式管理应用程序中所有的组件。换言之,应用程序中所有组件在执行挂载、迁移以及卸载等操作时,均会在组件树上体现。换言之,CMS在组件树上维护着各个组件的信息。其中,应用组件的信息包括应用组件的标识(例如包名、版本号、应用图标、进程ID)、应用组件包含的显示组件的信息、应用程序的显示区域等。服务组件的信息包括服务组件的标识(例如包名、版本号、进程ID),调用应用的包名、版本号等。显示组件的信息包括显示组件的标识(例如包名、版本号)、以及宿主应用组件的标识等信息。
例如,如图3B所示,为一个组件树的示例。可见,组件树的根部为管理所有组件的服务组件CMS。由图可见,电子设备运行有应用组件1、应用组件2、服务组件1和服务组件2。其中,应用组件1下挂载有显示组件1和显示组件2。应用组件2下挂载有显示组件3。需要注意的是,CMS可以修改显示组件的挂载关系。例如,如图3C所示,将原挂载在应用组件1的显示组件2,迁移到挂载到应用组件2。
如图4A所示,为本申请实施例提供的一种显示元素迁移的方法的流程示意图,具体如下:
S400、电子设备接收开启第一应用第一界面的操作A,启动电子设备的第一应用组件。其中,第一界面中包含目标显示元素。
S401、第一应用组件指示启动目标显示组件。
如前文介绍,第一应用的程序包包括一个入口程序包,以及包括一个或多个显示组件的页面程序包。其中,入口程序包可以包括入口可执行程序和配置文件。配置文件中还包括首页包含的一个或多个显示元素信息。其中,每个显示元素对应一个显示组件。换言之,配置文件中包括显示首页时需要启动的显示组件的信息。其中,显示组件的信息包括显示元素的标识(也可以认为是显示组件的标识),例如包名和版本号。一些示例中,配置文件中还包括首页依赖的其他显示组件的信息。其中,首页依赖的其他显示组件例如为首页跳转到其他页面时,组成其他页面的显示元素对应的显示组件。
一些示例中,第一应用第一界面为第一应用的首页,操作A为启动第一应用的操作。第一应用首页包含目标显示元素。那么,电子设备(例如,具体为CMS)在接收到操作A后,启动第一应用。具体的,电子设备先运行第一应用对应的入口程序包,即启动第一应用组件。而后,根据第一应用首页包含的显示元素的信息,执行相应的显示元素的页面程序包,其中包含执行目标显示元素的页面程序包,即启动目标显示组件。
需要说明的是,在其他一些示例中,第一应用第一界面为第一应用的其他界面。也就是说,电子设备在接收到操作A之前,已开启第一应用,即已启动第一应用组件。操作A为将电子设备当前显示的第一应用的界面(首页或非首页)跳转到第一界面的操作。第一界面包含目标显示元素。那么,在接收到操作A后,第一应用组件根据第一应用第一界面对应的显示组件的信息,执行相应的显示组件的页面程序包,其中包含执行目标显示元素的页面程序包,即启动目标显示组件。
在启动目标显示组件后,电子设备显示第一应用的第一界面,且第一应用的第一界面中包含目标显示元素。例如,如图4B中(1)所示,界面410为第一应用的第一界面的示例。界面410可以包括两个显示元素,例如天气控件411和音乐播放控件412。
S402、电子设备接收到在第一应用的第一界面上的操作B,操作B用于指示迁移目标显示元素至第二应用。
示例性的,操作B可以是用户在第一应用的第一界面上按住目标显示元素,并拖动目标显示元素至第二应用的显示界面上的操作。例如,用户在执行操作B之前可以预先打开第二应用,如图4B中(1)所示,界面400中包括界面410(第一应用的第一界面)和界面420(第二应用的第一界面)。以天气控件411为目标显示元素为例进行说明。如图4B中(2)所示,操作B具体可以是用户按住天气控件411,并拖拽天气控件411至界面420的操作。在一些示例中,在用户手指拖动天气控件411的过程中,天气控件411跟随用户手指在屏幕上的拖动而发生位置移动。
再示例性的,操作B也可以是用户执行的一系列操作。例如,用户在执行操作B之前可以预先打开第二应用,如图4C中(1)所示,电子设备显示的界面400中包括界面410(第一应用的第一界面)和界面420(第二应用的第一界面)。可选的,用户在执行操作B之前也可以不预先打开第二应用,即界面400中也可以不包括界面420。以天气控件411为目标显示元素为例进行说明。
若用户针对天气控件411执行特定操作(例如长按或者重力按压等),电子设备显示如图4C中(2)所示的选项菜单413,提示用户选择将天气控件411迁移到的目标应用。在一些示例中,选项菜单413中可以显示电子设备中已安装的应用的列表。在另一些示例中,选项菜单413中可以显示此时电子设备已开启的应用的列表。本申请实施例对此不做限定。而后,用户选择“应用2”(即第二应用)的选项。这里,操作B具体包括针对天气控件411执行的特定操作,以及选择“应用2”选项的操作。
在一种具体的实现方式中,电子设备(例如,具体是CMS)将接收到的操作B的信息(操作B的位置等)发送给第一应用组件,以便第一应用组件根据操作B的信息获取第二应用对应的第二应用组件的标识。
S403、第一应用组件根据操作B,向CMS查询第二应用组件的标识。
示例性的,当操作B是拖拽目标显示元素的操作时,电子设备监测用户手指在屏幕上拖动的位置。当检测到用户的手指离开屏幕(此时用户已将目标显示元素拖移至目标应用)时,记录离开前手指在屏幕中的位置。第一应用组件将该位置上报给CMS。前文已说明,CMS可以通过组件树的方式管理各个应用程序的所有组件。即,CMS维护有各个应用程序各个组件的信息,包括各个组件的标识(包名、版本号、应用图标等)、应用程序的显示区域、各个组件的进程信息等。当CMS查询到用户手指离开屏幕前的位置位于第二应用的显示区域内,则确定目标应用为第二应用。进一步的,将第二应用对应的第二应用组件的标识(例如,具体可以是第二应用组件的进程ID)返回给第一应用组件。
需要说明的是,CMS查询到用户手指离开屏幕前的位置覆盖有两个或两个以上的应用的显示界面时,确定顶层的应用为目标应用。
还需要说明的是,和第一应用类似的,第二应用包括一个入口程序包和一个或多个显示组件的页面程序包。在启动第二应用时,需要启动第二应用组件和相应的显示组件模块。
再示例性的,当操作B是直接选择目标应用的操作时,第一应用组件可以根据选择的目标应用的标识(例如包名、版本号)上报给CMS,由CMS查询第二应用对应的第二应用组件的标识,并返回给第一应用组件。
S404、第一应用组件请求目标显示组件返回目标显示组件的状态数据。相应的,目标显示组件向第一应用组件返回目标显示组件的状态数据。
其中,目标显示组件的状态数据包括目标显示组件运行时的数据。例如,目标显示组件包含音视频播放器,目标显示组件的状态数据包括音视频文件的播放进度。又例如,目标显示组件包含文档阅读器,目标显示组件的状态数据包括文档的阅读进度。又例如,目标显示组件包含用户输入控件,则目标显示组件的状态数据包含用户已经输入的文本信息,已经选择的选项信息等。这样,当目标显示元素迁移到第二应用时,重新启动目标显示组件时,可以快速恢复到迁移时的状态。
需要说明的是,在其他一些示例中,也可以不保存目标显示组件的状态数据,即不执行本步骤。那么,当目标显示元素迁移到第二应用时,重新启动目标显示组件时,相当于目标显示组件恢复了初始状态。
S405、第一应用组件向第二应用组件发送目标显示元素的标识。
在步骤S403中,第一应用组件已获取第二应用组件的标识,然后可以通过第二应用组件的标识与第二应用组件进行通信。前文已说明,第一应用组件根据目标显示元素的标识启动目标显示组件的,故第一应用组件中维护有目标显示元素的标识(例如包名、版本号等)。那么,第一应用组件向第二应用组件发送目标显示元素的标识,以便第二应用组件根据目标显示元素的标识启动目标显元素对应的目标显示组件。
S406、第一应用组件指示关闭目标显示组件。
第一应用组件指示关闭目标显示组件。具体的,第一应用组件接收目标显示组件的生命周期,关闭由第一应用组件创建的目标显示组件的进程,释放该进程占用的内存资源等。此时,电子设备上显示第一应用的第二界面,该第一应用的第二界面中不包括目标显示元素。例如,如图4B中(3)所示,电子设备显示的界面402中,界面410为第一应用的第二界面的示例,界面410中不包括天气控件411。
需要说明的是,第一应用组件在第二应用组件启动目标显示组件之前,关闭由第一应用组件启动的目标显示组件。例如,在一些示例中,当电子设备检测到用户按住目标显示元素开始拖动时,第一应用组件可以根据拖动过程中用户手指接触显示屏的位置,实时修改目标显示元素的显示位置。然后,第一应用组件根据修改后的目标显示元素的显示位置,实时渲染目标显示元素,从而实现目标显示元素跟随用户手指在屏幕上的拖动而发生位置移动。当检测到用户手指离开显示屏时,第一应用组件关闭目标显示组件,即第一应用的显示界面中不再显示目标显示元素。或者,第一应用组件在执行步骤S405之后,关闭目标显示组件。又或者,当第二应用组件获知目标显示元素的标识,确定能够启动目标显示组件之前,告知第一应用组件。此时,第一应用组件再关闭目标显示组件。本申请实施例对关闭第一应用组件的具体时机不做限定。
在另一些示例中,若第二应用组件未成功启动目标显示组件,则可以告知第一应用组件,由第一应用组件重新启动目标显示组件,显示目标显示元素。需要注意的是,此时,目标显示元素并未迁移至第二应用。
需要说明的是,在一些示例中,从第一应用中迁移走目标显示元素为一次性操作。即,第一应用组件不改变第一应用的程序包(例如,入口程序包中的配置文件)。这样,当电子设备退出第一应用,重新启动第一应用的第一界面时,第一应用的第一界面中仍然包含目标显示元素。在另一些示例中,在执行步骤S406后,第一应用组件可以默认或者根据用户的选择,保存第一应用的第二界面(即执行图中的步骤S411)。一种具体的实现中,第一应用组件从入口程序包的配置文件中删除目标显示组件的信息(例如目标显示元素的标识)。那么,当电子设备退出第一应用,重新启动第一应用的第一界面时,电子设备显示第一应用的第二界面,该第二界面中不包含目标显示元素。
S407、第二应用组件根据目标显示元素的标识,启动目标显示组件。
其中,目标显示元素的标识包括目标显示元素的包名和/或版本号,则第二应用组件根据目标显示元素的包名和/或版本号,执行目标显示元素对应的页面程序包,即重新启动目标显示组件。此时,电子设备显示第二应用的第二界面,第二界面中包含目标显示元素。
S408、第二应用组件根据目标显示组件的状态数据恢复目标显示组件的状态。
若第二应用组件还接收到目标显示组件的状态数据,则可以将该状态数据发送给已启动的目标显示组件,恢复目标显示组件在迁移前的状态。若第二应用组件未接收到目标显示组件的状态数据,则不用执行本步骤。
S409、第二应用组件重新布局显示界面。
在一些实施例中,第二应用组件按照用户指定的位置(例如用户拖动目标元素后离开屏幕的位置)或默认的位置(例如默认位于第二应用显示界面的边缘处)确定目标显示元素在第二应用第二界面中的位置。例如,如图5A所示,迁移前第二应用的第一界面为界面501,包括5个显示组件(图中同一颜色块为一个显示组件)。那么,目标显示元素可以覆盖在界面501上某个显示组件(例如显示组件504)上,即第二应用的第二界面为界面502。其中,显示组件503为目标显示元素。在一个示例中,新增的显示组件503的生命周期可以与显示组件504保持一致。或者,目标显示元素可以覆盖在界面502上某几个显示组件上,即第二应用的第二界面为界面505。在一个示例中,显示组件503的生命周期可以独立地由第二应用组件进行控制,即显示组件503的生命周期与覆盖的这几个显示组件不相关。
例如,如图4B中(3)所示,电子设备显示的界面402中,界面420为第二应用的第二界面的示例,界面420中包括天气控件411。
在另一些实施例中,第二应用组件根据用户指定的位置结合第二应用中第一界面的布局确定目标显示元素在第二应用第二界面中的位置。
例如,如图5B所示,可以将第二应用的第一界面大致划分为4个象限,分别为象限1、象限2、象限3和象限4。然后根据用户指定位置位于的具体象限,以及目标显示元素的宽高关系对第二应用的第二界面进行布局调整。
如图5C所示,第二应用的第一界面为界面514。若目标显示元素的宽度大于高度,且用户将目标显示元素拖动至界面514的象限1或象限2时,则第二应用的第二界面可以为界面506,其中显示组件507为目标显示元素。可见,第二应用的第一界面中原有的显示组件向下扩展。在一个示例中,第二应用的第二界面保持与第一界面相同的显示区域,那么超出原有显示区域的部分可以通过滚动条的方式进行滚动查看。在另一个示例中,第二应用的第二界面的显示区域可以大于第一界面的显示区域。那么,第二应用组件需要CMS更新重新布局后的第二界面的显示区域。
又例如,若目标显示元素的宽度小于高度,且用户将目标显示元素拖动至界面514的象限2或象限3时,则第二应用的第二界面可以为界面508,其中显示组件509为目标显示元素。可见,第二应用的第一界面中原有的显示组件向右扩展。在一个示例中,第二应用的第二界面保持与第一界面相同的显示区域,那么超出原有显示区域的部分可以通过滚动条的方式进行滚动查看。在另一个示例中,第二应用的第二界面的显示区域可以大于第一界面的显示区域。那么,第二应用组件需要CMS更新重新布局后的第二界面的显示区域。
又例如,若目标显示元素的宽度大于高度,且用户将目标显示元素拖动至界面514的象限3或象限4时,则第二应用的第二界面可以为界面510,其中显示组件511为目标显示元素。可见,第二应用的第一界面中原有的显示组件向上扩展。在一个示例中,第二应用的第二界面保持与第一界面相同的显示区域,那么超出原有显示区域的部分可以通过滚动条的方式进行滚动查看。在另一个示例中,第二应用的第二界面的显示区域可以大于第一界面的显示区域。那么,第二应用组件需要CMS更新重新布局后的第二界面的显示区域。
又例如,若目标显示元素的宽度小于高度,且用户将目标显示元素拖动至界面514的象限1或象限4时,则第二应用的第二界面可以为界面513,其中显示组件512为目标显示元素。可见,第二应用的第一界面中原有的显示组件向左扩展。在一个示例中,第二应用的第二界面保持与第一界面相同的显示区域,那么超出原有显示区域的部分可以通过滚动条的方式进行滚动查看。在另一个示例中,第二应用的第二界面的显示区域可以大于第一界面的显示区域。那么,第二应用组件需要CMS更新重新布局后的第二界面的显示区域。
需要说明的是,在一些示例中,将目标显示元素移至第二应用为一次性操作。即,第二应用组件不改变第二应用的程序包(例如,入口程序包中的配置文件)。这样,当电子设备退出第二应用,重新启动第二应用的第一界面时,第二应用的第一界面中仍然不包含目标显示元素。在另一些示例中,第二应用组件可以默认或者根据用户的选择,保存第二应用的第二界面(即执行图中的步骤S410)。一种具体的实现中,第二应用组件从入口程序包的配置文件中增加目标显示元素的信息。那么,当电子设备退出第二应用,重新启动第二应用的第一界面时,电子设备显示第一应用的第二界面,该第二界面中包含目标显示元素。
还需要说明的是,当目标显示元素迁移至第二应用后,第一应用的运行状态与目标显示元素无关。例如,如图4D中(1)所示,在界面405上,界面410(即第一应用的第二界面)还包括关闭控件413。响应于用户操作关闭控件413,电子设备显示如图4D中(2)所示的界面406。可见,电子设备关闭了界面410,但天气控件411未发生变化。
目标显示元素与第二应用的运行状态相关。例如,如图4D中(1)所示,在界面405上,界面420(即第二应用的第二界面)还包括关闭控件421。响应于用户操作关闭控件421,电子设备显示如图4D中(3)所示的界面407。可见,电子设备关闭了界面420,天气控件411也不再显示。需要注意的是,界面410未发生变化。
由上可见,本申请实施例通过将应用程序中各个显示组件进行解耦,从而实现跨应用迁移显示组件的功能。这样一来,用户在运行应用程序时可以自由组装应用程序中的显示组件,满足用户的个性化需求。例如,用户可以将自己经常使用的应用功能组合成一个应用程序。这样,用户开启该应用程序后,就可以满足用户大多数时候对应用功能的使用需求。又例如,在某个包含多个应用功能的应用程序中,用户可以将部分应用功能切换为自己喜欢的版本,如将音乐播放器切换为自己喜欢的厂商开发的版本。这样,有利于提升用户使用该应用程序的用户体验。
此外,本申请的方法也有利于应用开发人员专注在独立单一的应用功能的开发,极大地降低了开发人员的开发难度,也减少了开发工作量。
再有,在一些实施例中,第一应用组件的配置列表中可以保留目标显示元素的信息,第二应用组件的配置列表中可以新增目标显示元素的信息。当启动第一应用组件时,第一应用组件启动目标显示元素。当启动第二应用组件时,第二应用组件启动目标显示元素。换言之,第一应用组件和第二应用组件可以共用目标显示元素,从而实现资源共享,能力共享。在现有技术里,若两个应用程序均包含相同的功能模块,这相同的功能模块相当于下载了两次,且占用了电子设备的两份存储空间。然而,在本申请实施例中,多个应用程序可以共用一个功能模块(即显示组件),节省了下载的流量成本、时间成本以及内存空间。
还需要说明的是,在上述实施例中,当操作B为用户在第一应用的一界面上按住目标显示元素,并拖动目标显示元素移至第二应用的显示界面上的操作时,目标显示元素跟随用户手指在屏幕上的拖动而发生位置移动。
在一种实现方式中,如上述实施例描述,第一应用组件根据用户手指在屏幕上的位置实时修改目标显示元素的显示位置。然后,第一应用组件根据修改后的目标显示元素的显示位置,实时渲染目标显示元素,从而实现目标显示元素跟随用户手指在屏幕上的拖动而发生位置移动。
在另一种实现方式中,第一应用组件也可以启动快照显示组件,由快照显示组件创建目标显示元素的快照(snapshot)。然后通过移动目标显示元素的快照,从视觉上达到目标显示元素跟随用户手指在屏幕上的拖动而发生位置移动的效果。相较于实时渲染目标显示元素,渲染目标显示元素的快照的方式减少了渲染耗时,更加方便和快捷。
具体的,如图6所示,为本申请实施例提供的又一种显示组件迁移的方法的流程示意图。具体包括:步骤S400-步骤S402,步骤S601-步骤S603,步骤S403-步骤S405,步骤S604,以及步骤S407-步骤S411。
其中,步骤S400-步骤S402,步骤S403-步骤S405,以及步骤S407-步骤S411可参考上文相关内容的描述,这里不再赘述。
S601、目标显示组件向第一应用组件请求启动快照显示组件。
S602、第一应用组件启动快照显示组件。
S603、第一应用组件关闭目标显示组件。
在检测到用户在第一应用的第一界面上开始执行操作B时,目标显示组件可以向第一应用组件请求启动快照显示组件,由快照显示组件创建目标显示元素的快照(snapshot)。并且,在启动快照显示组件之前,可以关闭目标显示组件。也就是说,此时电子设备可以直接显示目标显示元素的快照。用户可以观察到目标显示元素的快照随着用户手指在屏幕上的拖动而发生位置移动,以提示用户正在执行操作B。
类似的,在第一应用组件将目标显示元素的标识(和状态数据)发生给第二应用组件后,即执行步骤S405之后,第一应用组件可以执行步骤S604,即关闭快照显示组件。也就是说,此时电子设备不再显示目标显示元素的快照。
在上述实施例中,目标显示组件为电子设备已下载的显示组件。在其他的一些实施例中,目标显示组件也可以为电子设备未下载的显示组件。由于应用程序包括多个独立的功能模块,例如应用组件和相互独立的显示组件。那么,应用组件与各个显示组件均可以独立下载、安装、更新以及卸载等。因此,迁移的目标显示组件也可以是未下载的显示组件。例如,目标显示组件可以为应用市场中应用列表中显示的显示组件,这些显示组件可以是电子设备还未下载的显示组件。
以下,以应用市场为例进行说明。如图7所示,为本申请实施例提供的又一种显示组件迁移的方法的流程示意图,具体如下:
S700、电子设备接收到启动第一应用的应用列表的操作C,启动第一应用组件和列表显示组件。其中,列表显示组件中包括目标显示元素。
其中,第一应用例如为应用市场。应用市场采用本申请实施例提供的组件化方案,即应用市场包括多个独立的功能模块,如包括应用市场的应用组件(即第一应用组件),列表显示组件以及其他显示组件。
示例性的,用户可以通过点击电子设备桌面中应用市场的应用图标,开启应用市场。在一些示例中,应用市场的首页中包含应用列表。即,应用市场的首页依赖的显示组件包括列表显示组件。那么,电子设备(例如,具体可以是CMS)依次启动第一应用组件和列表显示组件。在该示例中,操作C为开启应用市场的操作。在另一些示例中,应用市场的首页中不包含应用列表。即应用市场的首页依赖的显示组件不包括列表显示组件。那么,电子设备(例如,具体可以是CMS)依次启动第一应用组件和首页依赖的显示组件。用户继续在应用市场的首页中执行一个或多个操作,使得第一应用组件启动列表显示组件,应用市场从首页跳转到应用列表802。在该示例中,操作C包括开启应用市场的操作,以及在应用市场的首页中执行跳转到应用列表的一个或多个操作。
如图8A中(1)所示,电子设备的显示界面801中包含应用列表802。应用列表802中显示有多个显示组件(或者应用组件)的下载列表。根据前文对应用程序的组件化方案的描述,每个显示组件也可被理解为独立的应用程序,应用组件也可以理解为应用首页对应的显示组件。换言之,本申请提供的显示组件的迁移包括对单个显示组件的迁移,也可以包括对包含多个显示组件的应用组件的整体迁移。
S701、接收到针对目标显示元素的操作D后,列表显示组件向第一应用组件请求迁移目标显示元素。
其中,针对目标显示元素的操作D为指示迁移目标显示元素的操作。
例如,如图8A中(1)所示,操作D为在应用列表802中按住目标显示元素(例如天气显示组件)的图标,并在手指不离开屏幕的情况下,继续滑动到第二应用的显示界面上。其中,目标显示元素的图标随着用户的手指在屏幕上拖动而发生位置变化。在该示例中,操作D可以认为是一个连续的滑动操作。
又例如,如图8A中(2)所示的界面804,操作D还可以是在应用列表802上长按、点击、双击、重力按压等目标显示元素(例如天气显示组件)的图标,电子设备显示目标显示元素的快照805,手指可以离开屏幕或不离开屏幕,再滑动到第二应用的显示界面上。其中目标显示元素的快照805随着用户的手指在屏幕上拖动而发生位置变化。在该示例中,操作D可以认为是一个连续的滑动操作,也可以包含一系列的操作。例如,操作D包含长按、点击、双击、重力按压等目标显示元素的图标,手指离开屏幕后再滑动到第二应用的显示界面上的操作。
又例如,如图8B中(1)所示的界面806,操作D还可以是在应用列表802上长按、点击、双击、重力按压等目标显示元素(例如天气显示组件)的图标,电子设备显示选项807。若用户选择独立运行的选项,则单独下载目标显示元素,且目标显示元素以一个独立的应用安装以及运行。若用户选择组合到其他应用的选择,则电子设备可以显示目标显示元素的快照,用户可以按住目标显示元素的快照并拖到第二应用的显示界面上。在该示例中,操作D包含长按、点击、双击、重力按压等目标显示元素的图标,选择组合到其他应用的操作,以及拖到目标显示元素的快照到第二应用的显示界面上的操作。
需要说明的是,本申请实施例对操作D的具体形式,以及电子设备上的界面显示均不做具体限定。下文以操作D为图8A中(2)所示的操作为例进行说明。
另外需要说明的是,第二应用也可以采用本申请实施例提供的组件化方案,即第二应用包括第二应用组件以及其他显示组件。
在具体实现中,用户可以在应用列表802中执行针对目标显示元素(例如天气显示组件)的操作D。列表显示组件在接收到针对目标显示元素的操作D后,向第一应用组件请求迁移该目标显示元素。在一个示例中,该请求中携带该目标显示元素的标识,例如目标显示元素的包名、版本号等。在另一示例中,该请求中也可以携带操作D的作用位置,当第一应用组件接收到操作D的作用位置后,可以根据该位置确定出该目标显示元素的标识。
S702、第一应用组件启动快照显示组件,显示目标显示元素的快照。
示例性的,当检测到用户点击目标显示元素的图标的时间达到预设值(例如3秒),或者用户按压目标显示元素的压力达到预设压力值等,则仍认为检测到用户开始执行操作D。在检测到用户开始执行操作D时,第一应用组件可以启动快照显示组件,由快照显示组件生成目标显示元素的快照。需要说明的是,这里的目标显示元素的快照可以预置的目标显示元素的首页的截图。也就是说,快照显示组件中可以保存有各个显示组件的首页的截图,当检测到用户针对目标显示元素执行操作D时,可以直接显示出该目标显示元素的首页的截图,作为该目标显示元素的快照。然后,目标显示元素的快照随着用户的手指在屏幕上拖动而发生位置变化。
S703、第一应用组件向CMS发送操作D的信息。
检测到用户执行完操作D后,第一应用组件将操作D的信息(例如用户手指离开屏幕的位置,该位置在第二应用的显示界面上)发送给CMS,CMS可以根据操作D的信息查询到显示组件迁移的目标应用,即第二应用的标识。
S704、CMS根据操作D的信息,确定并向第一应用组件返回第二应用组件的标识。
如前文介绍,CMS维护有所有已启动的应用组件的信息,包括应用组件的标识,显示区域等。因此,CMS可以确定操作D中用户手指离开的位置位于第二应用组件的显示区域,从而确定出第二应用组件的标识。该标识例如可以是第二应用组件的进程ID。
S705、第一应用组件向PMS请求下载目标显示组件。
根据步骤S701中的内容描述可知,第一应用组件已获知目标显示元素的标识,在向PMS请求下载目标显示元素的消息中携带目标显示元素的标识。
S706、PMS根据目标显示元素的标识,下载目标显示组件。下载成功后,向第一应用组件返回下载成功的响应。
在另一些实施例中,PMS接收到第一应用组件的请求下载目标显示元素的信息后,可以先确定电子设备中是否已经下载或安装该目标显示元素对应的目标显示组件。若确定电子设备中已下载或安装该目标显示组件,则可以不再下载目标显示组件,直接向第二应用组件返回已下载目标显示组件的响应。由此可见,当多个应用程序均需要使用同一个显示组件(包名和版本号均相同)时,该显示组件可以仅下载一次,从而可以节省重复下载的流量成本、时间成本,以及电子设备存储该显示组件安装包的内存空间。
S707、第一应用组件向第二应用组件发送目标显示元素的标识,请求迁移目标显示元素至第二应用组件。
根据步骤S704中的内容描述可知,第一应用组件已获知第二应用组件的标识(如第二应用组件的进程ID)。第一应用组件可以根据第二应用组件的标识,向第二应用组件发送请求,该请求中携带目标显示元素的标识(包名和版本号)。
可选的,在第一应用组件向第二应用组件发送目标显示元素的标识后,可以指示关闭快照显示组件,即执行步骤S711。
S708、第二应用组件根据目标显示元素的标识,启动目标显示组件。
在启动目标显示组件后,电子设备显示有目标显示元素。
S709、第二应用组件重新布局显示界面。
重新布局时,目标显示元素的显示位置,以及与第二应用的显示界面的关系,可以参考前文步骤S409中的相关内容的描述,这里不再赘述。
例如,如图8B中(2)所示的界面808,其中第二应用的显示界面803中包含目标显示元素809。
S710、第二应用组件保存布局。
示例性的,第二应用在当前显示对应的配置文件中添加目标显示元素的信息,例如目标显示元素的标识和版本号等。这样,当第二应用组件退出当前界面后,再次进入该界面时,该界面中依然包含目标显示元素。
由此,用户可以通过应用市场快速下载新的显示组件或应用组件,并迁移至目标应用的显示界面上,可以实现用户快速组装新的应用程序的功能。
本申请实施例还提供一种芯片系统,如图9所示,该芯片系统包括至少一个处理器1101和至少一个接口电路1102。处理器1101和接口电路1102可通过线路互联。例如,接口电路1102可用于从其它装置(例如电子设备100的存储器)接收信号。又例如,接口电路1102可用于向其它装置(例如处理器1101)发送信号。示例性的,接口电路1102可读取存储器中存储的指令,并将该指令发送给处理器1101。当所述指令被处理器1101执行时,可使得电子设备执行上述实施例中的电子设备100(比如,手机)执行的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种装置,该装置包含在电子设备中,该装置具有实现上述实施例中任一方法中电子设备行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括至少一个与上述功能相对应的模块或单元。例如,接收模块或单元、显示模块或单元、以及处理模块或单元等。
本申请实施例还提供一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如上述实施例中任一方法。
本申请实施例还提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如上述实施例中任一方法。
本申请实施例还提供一种电子设备上的图形用户界面,所述电子设备具有显示屏、摄像头、存储器、以及一个或多个处理器,所述一个或多个处理器用于执行存储在所述存储器中的一个或多个计算机程序,所述图形用户界面包括所述电子设备执行如上述实施例中任一方法时显示的图形用户界面。
可以理解的是,上述终端等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
本申请实施例可以根据上述方法示例对上述终端等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务组件器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种跨应用迁移显示元素的方法,其特征在于,所述方法包括:
电子设备显示第一应用的第一界面和第二应用的第二界面,所述第一界面包括目标显示元素;
所述电子设备接收针对所述目标显示元素的第一操作;
响应于接收到所述第一操作,所述电子设备显示所述第一应用的第三界面和所述第二应用的第四界面,其中,所述第三界面中不包括所述目标显示元素,所述第四界面中包括所述目标显示元素。
2.根据权利要求1所述的方法,其特征在于,所述电子设备显示第一应用的第一界面和第二应用的第二界面,包括:
所述电子设备启动第一应用组件和目标显示组件,以及启动第二应用组件;
其中,所述第一应用组件包括所述第一应用的入口执行程序和配置文件,所述第一应用组件的配置文件中包含所述目标显示元素的标识;所述第一应用组件中不包含所述目标显示元素的页面程序包;
所述目标显示组件包括所述目标显示元素的页面程序包;
所述第二应用组件包括所述第二应用的入口执行程序和配置文件,所述第二应用组件的配置文件中不包含所述目标显示元素的标识,以及所述目标显示元素的页面程序包。
3.根据权利要求2所述的方法,其特征在于,所述响应于接收到所述第一操作,所述电子设备显示所述第一应用的第三界面和所述第二应用的第四界面,其中,所述第三界面中不包括所述目标显示元素,所述第四界面中包括所述目标显示元素,包括:
所述第一应用组件将所述目标显示元素的标识,发送给所述第二应用组件;
所述第一应用组件关闭所述目标显示组件;以及所述第二应用组件根据所述目标显示元素的标识,启动所述目标显示组件,并显示所述目标显示元素。
4.根据权利要求3所述的方法,其特征在于,所述第一应用组件将所述目标显示元素的标识,发送给所述第二应用组件,包括:
所述第一应用组件根据所述第一操作,确定所述第二应用组件的标识;
所述第一应用组件根据所述第二应用组件的标识,向所述第二应用组件发送所述目标显示元素的标识。
5.根据权利要求4所述的方法,其特征在于,所述第一操作为拖动所述目标显示元素移动到所述第二应用的所述第二界面上后离开显示屏的操作,所述第一应用组件根据所述第一操作,确定所述第二应用组件的标识,具体为:
所述第一应用组件根据离开显示屏时的位置,确定所述第二应用组件的标识。
6.根据权利要求3-5任一项所述的方法,其特征在于,所述目标显示元素的标识包括所述目标显示元素的包名和/或版本号。
7.根据权利要求4-6任一项所述的方法,其特征在于,所述第二应用组件的标识包括所述第一应用组件的进程标识。
8.根据权利要求1-7任一项所述的方法,其特征在于,在所述电子设备显示所述第一应用的第三界面和所述第二应用的第四界面之后,所述第一应用组件的配置文件中不包含所述目标显示元素的标识;所述第二应用组件的配置文件中包含所述目标显示元素的标识。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述第一应用的所述第一界面为所述第一应用的首页,所述方法还包括:
所述电子设备退出所述第一应用;
所述电子设备接收开启所述第一应用的第二操作;
响应于接收到所述第二操作,所述电子设备显示所述第一应用的首页,所述第一应用的首页中不包含所述目标显示元素。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述第二应用的第二界面为所述第二应用的首页,所述方法还包括:
所述电子设备退出所述第二应用;
所述电子设备接收开启所述第二应用的第三操作;
响应于接收到所述第三操作,所述电子设备显示所述第二应用的首页,所述第二应用的首页包含所述目标显示元素。
11.根据权利要求1-8任一项所述的方法,其特征在于,所述第一应用的第一界面为应用市场的应用下载列表,所述目标显示元素为所述应用下载列表中的一项;
所述响应于接收到所述第一操作,所述电子设备显示所述第一应用的第三界面和所述第二应用的第四界面,其中,所述第三界面中不包括所述目标显示元素,所述第四界面中包括所述目标显示元素,包括:
所述第一应用组件根据所述第一操作,确定所述第二应用元素的标识;以及所述第一应用组件根据所述目标显示元素的标识,请求下载并安装所述目标显示元素的安装包;
所述第一应用组件根据所述第二应用组件的标识,向所述第二应用组件发送所述目标显示元素的标识;
所述第二应用组件根据所述目标显示元素的标识,启动所述目标显示组件,并显示所述目标显示元素。
12.一种电子设备,其特征在于,包括:处理器、存储器和触摸屏,存储器、触摸屏与处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器运行存储器中计算机指令,以使得所述电子设备执行如权利要求1-11任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如权利要求1-11任一项所述的方法。
14.一种计算机程序产品,其特征在于,当计算机程序产品在计算机上运行时,使得计算机执行如权利要求1-11任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011380975.3A CN114579020A (zh) | 2020-11-30 | 2020-11-30 | 一种跨应用迁移显示元素的方法及电子设备 |
PCT/CN2021/134123 WO2022111702A1 (zh) | 2020-11-30 | 2021-11-29 | 一种跨应用迁移显示元素的方法及电子设备 |
US18/039,196 US20230418445A1 (en) | 2020-11-30 | 2021-11-29 | Method for migrating display element across applications and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011380975.3A CN114579020A (zh) | 2020-11-30 | 2020-11-30 | 一种跨应用迁移显示元素的方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114579020A true CN114579020A (zh) | 2022-06-03 |
Family
ID=81754054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011380975.3A Pending CN114579020A (zh) | 2020-11-30 | 2020-11-30 | 一种跨应用迁移显示元素的方法及电子设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230418445A1 (zh) |
CN (1) | CN114579020A (zh) |
WO (1) | WO2022111702A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070006088A1 (en) * | 2005-06-29 | 2007-01-04 | Bea Systems, Inc. | System and method for providing collaboration resources between web applications |
CN105122176A (zh) * | 2013-03-13 | 2015-12-02 | 谷歌技术控股有限责任公司 | 用于管理在电子设备上显示的内容的系统和方法 |
CN107590006A (zh) * | 2017-09-05 | 2018-01-16 | 广东欧珀移动通信有限公司 | 文件处理方法、装置及移动终端 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030081003A1 (en) * | 2001-02-23 | 2003-05-01 | Ali Kutay | System and method to facilitate analysis and removal of errors from an application |
US8156467B2 (en) * | 2007-08-27 | 2012-04-10 | Adobe Systems Incorporated | Reusing components in a running application |
KR101580999B1 (ko) * | 2009-01-06 | 2015-12-30 | 삼성전자주식회사 | 애플리케이션 간의 콘텐츠를 이동하는 장치 및 방법 |
US8239781B2 (en) * | 2009-06-30 | 2012-08-07 | Sap Ag | Drag and drop of an application component to desktop |
US10048854B2 (en) * | 2011-01-31 | 2018-08-14 | Oracle International Corporation | Drag and drop interaction between components of a web application |
KR101725247B1 (ko) * | 2011-05-27 | 2017-04-10 | 엘지전자 주식회사 | 이동 단말기 및 이것의 모드 제어 방법 |
DE202012102955U1 (de) * | 2011-08-10 | 2013-01-28 | Playtech Software Ltd. | Widget Verwalter |
KR101515998B1 (ko) * | 2011-12-19 | 2015-05-07 | 주식회사 케이티 | 공간 마켓 위젯 제공 방법, 그리고 이를 구현한 마켓 서버와 사용자 단말 |
CN103377080B (zh) * | 2012-04-23 | 2016-12-14 | 国际商业机器公司 | 用于在运行时支持微件的跨容器移动的方法和系统 |
US11880413B2 (en) * | 2017-06-02 | 2024-01-23 | Qualtrics, Llc | Transforming datasets for visualization within widgets across multiple platforms and software applications |
CN108228253A (zh) * | 2017-12-29 | 2018-06-29 | 武汉璞华大数据技术有限公司 | 一种app构建方法及系统 |
CN110362366B (zh) * | 2018-04-02 | 2022-06-24 | 青岛海信移动通信技术股份有限公司 | 一种应用界面显示方法及装置 |
CN111427631B (zh) * | 2020-04-01 | 2022-03-15 | 中电万维信息技术有限责任公司 | 一种多样化移动应用功能模块的动态配置方法 |
-
2020
- 2020-11-30 CN CN202011380975.3A patent/CN114579020A/zh active Pending
-
2021
- 2021-11-29 US US18/039,196 patent/US20230418445A1/en active Pending
- 2021-11-29 WO PCT/CN2021/134123 patent/WO2022111702A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070006088A1 (en) * | 2005-06-29 | 2007-01-04 | Bea Systems, Inc. | System and method for providing collaboration resources between web applications |
CN105122176A (zh) * | 2013-03-13 | 2015-12-02 | 谷歌技术控股有限责任公司 | 用于管理在电子设备上显示的内容的系统和方法 |
CN107590006A (zh) * | 2017-09-05 | 2018-01-16 | 广东欧珀移动通信有限公司 | 文件处理方法、装置及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
WO2022111702A1 (zh) | 2022-06-02 |
US20230418445A1 (en) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114397979B (zh) | 一种应用显示方法及电子设备 | |
CN113553130B (zh) | 应用执行绘制操作的方法及电子设备 | |
WO2022089207A1 (zh) | 一种跨设备应用交互方法、电子设备与服务器 | |
CN112527174B (zh) | 一种信息处理方法及电子设备 | |
CN110990105A (zh) | 界面显示方法、装置、电子设备及存储介质 | |
WO2021073337A1 (zh) | 安装插件的方法、装置和存储介质 | |
CN112783384A (zh) | 一种云应用运行的控制方法及电子设备 | |
CN112035153B (zh) | 应用更新方法、装置、终端及存储介质 | |
CN112817634A (zh) | Cota包下载方法及装置 | |
CN114915618A (zh) | 升级包下载方法及装置 | |
CN112612539A (zh) | 数据模型卸载方法、装置、电子设备及存储介质 | |
CN116700601B (zh) | 内存优化方法、设备及存储介质 | |
CN115657897A (zh) | 跨设备桌面管理方法、第一电子设备及第二电子设备 | |
WO2022111702A1 (zh) | 一种跨应用迁移显示元素的方法及电子设备 | |
CN114443117B (zh) | 一种定制包的处理方法及电子设备 | |
CN113485709B (zh) | 应用优化方法、装置以及电子设备 | |
CN114077368A (zh) | 车载小程序运行方法、装置、计算机设备及存储介质 | |
CN113835802A (zh) | 设备交互方法、系统、设备及计算机可读存储介质 | |
CN111596936A (zh) | 应用程序的更新方法及装置 | |
CN110865760A (zh) | 电子设备操作方法、装置、电子设备及存储介质 | |
CN117009023B (zh) | 显示通知信息的方法及相关装置 | |
WO2022222715A1 (zh) | 一种车载电子设备的控制方法及车载电子设备 | |
WO2022247446A1 (zh) | 一种性能优化方法以及相关设备 | |
CN116263683A (zh) | 应用界面跨设备显示方法、设备系统 | |
CN115373778A (zh) | 投屏方法及相关装置 |
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 |