CN115145515A - 一种投屏方法及相关装置 - Google Patents
一种投屏方法及相关装置 Download PDFInfo
- Publication number
- CN115145515A CN115145515A CN202110352845.7A CN202110352845A CN115145515A CN 115145515 A CN115145515 A CN 115145515A CN 202110352845 A CN202110352845 A CN 202110352845A CN 115145515 A CN115145515 A CN 115145515A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- window
- screen
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000007667 floating Methods 0.000 claims abstract description 256
- 230000004044 response Effects 0.000 claims abstract description 60
- 230000015654 memory Effects 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 7
- 230000002441 reversible effect Effects 0.000 abstract description 17
- 238000007726 management method Methods 0.000 description 77
- 238000004891 communication Methods 0.000 description 38
- 239000010410 layer Substances 0.000 description 34
- 238000010586 diagram Methods 0.000 description 19
- 238000005266 casting Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000010295 mobile communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 210000004027 cell Anatomy 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 210000000988 bone and bone Anatomy 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000026676 system process Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- 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/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/04883—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 for inputting data by handwriting, e.g. gesture or text
-
- 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
- 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
-
- 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
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/395—Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
- G09G5/397—Arrangements specially adapted for transferring the contents of two or more bit-mapped memories to the screen simultaneously, e.g. for mixing or overlay
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/10—Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2354/00—Aspects of interface with display user
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/04—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
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)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
公开了一种投屏方法,包括:第一电子设备在主屏的显示内容上叠加显示悬浮窗口,悬浮窗口内显示第一用户界面,主屏的显示内容是基于主屏显示区的图像数据确定的,悬浮窗口的显示内容是基于第一扩展显示区的图像数据确定的;检测到针对悬浮窗口的第一操作,响应于第一操作,第一电子设备基于第一扩展显示区的图像数据将悬浮窗口的显示内容投屏到第二电子设备;接收第二电子设备发送的针对投屏显示的第一用界面的第一指令;响应于第一指令,第一电子设备基于第一扩展显示区运行的应用程序窗口将悬浮窗口的显示内容切换为第二用户界面。这样,能够有效实现投屏后的反向控制。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种投屏方法及相关装置。
背景技术
目前,投屏技术通常基于图层过滤实现镜像投屏的内容过滤。例如,响应于用户操作,可以将应用1投屏至平板电脑。具体的,手机将所有图层合成并显示在手机上,同时选择应用1对应的图层进行过滤和合成,并将合成后的应用1的图像数据发送到平板电脑;平板电脑根可以据上述图像数据进行投屏显示。
然而,上述通过对镜像投屏的内容过滤和图像合成来实现投屏的传统方案,在投屏后难以准确实现反向控制。例如,针对平板电脑侧的反向控制的输入操作,需要手机基于手机前台运行的应用的界面布局对上述输入操作进行响应;然而,由于用户的输入操作意图作用的应用和手机当前进行前台运行的应用可能不一致,因此,不能准确实现投屏后的反向控制。
发明内容
本申请实施例提供了一种投屏方法及相关装置,能够有效实现投屏后的反向控制。
第一方面,本申请提供了一种投屏方法,所述方法包括:第一电子设备在主屏的显示内容上叠加显示悬浮窗口,悬浮窗口内显示第一用户界面,主屏的显示内容是基于主屏显示区的图像数据确定的,悬浮窗口的显示内容是基于第一扩展显示区的图像数据确定的;检测到针对悬浮窗口的第一操作,响应于第一操作,第一电子设备基于第一扩展显示区的图像数据将悬浮窗口的显示内容投屏到第二电子设备;接收第二电子设备发送的针对投屏显示的第一用界面的第一指令;响应于第一指令,第一电子设备基于第一扩展显示区运行的应用程序窗口将悬浮窗口的显示内容切换为第二用户界面。
实施本申请实施例,第一电子设备可以将悬浮窗口叠加显示在主屏的显示内容上,主屏基于主屏显示区的图像数据进行显示,悬浮窗口基于扩展显示区的图像数据进行显示。并可以基于扩展显示区将悬浮窗口的显示内容投屏至投屏目标端,还可以通过悬浮窗口实时观察投屏内容,还可以有效实现在投屏目标端对投屏内容(即悬浮窗口的显示内容)的反向控制。此外,本申请实施例中,基于扩展显示区对应的图像数据进行投屏显示,有效避免了传统图层过滤的投屏方案中的漏投、多投的情况。
在一种实现方式中,上述第一指令包括作用于第二电子设备显示的投屏窗口内第一用界面的第二操作的第一坐标;上述第一电子设备基于第一扩展显示区运行的应用程序窗口将悬浮窗口的显示内容切换为第二用户界面,具体包括:第一电子设备基于第一坐标以及第一扩展显示区最近运行的应用程序窗口的界面布局,确定第二操作用于切换投屏显示内容为第二用户界面;电子设备将悬浮窗口的显示内容切换为第二用户界面,并将第二用户界面的图像数据发送到第二电子设备。
在一种实现方式中,第一坐标为第二操作在第二电子设备的显示屏上的第一原始触摸坐标;上述第一电子设备基于第一坐标以及第一扩展显示区最近运行的应用程序窗口的界面布局,确定第二操作用于切换投屏显示内容为第二用户界面,具体包括:基于投屏窗口在第二电子设备显示屏上的位置,获取第一原始触摸坐标的第一相对坐标,第一相对坐标是第一原始触摸坐标在投屏窗口内的相对坐标;基于第一相对坐标,以及投屏窗口和第一电子设备的全屏显示窗口的窗口比例,确定第一相对坐标对应的第二相对坐标,第二相对坐标为投屏窗口内的第一相对坐标在第一电子设备的全屏显示窗口内的相对坐标;基于第二相对坐标以及第一扩展显示区最近运行的应用程序窗口的界面布局,确定第二操作用于切换悬浮窗口的显示内容切换为第二用户界面。
在一种实现方式中,第一坐标为第二操作在第二电子设备的显示屏上的第一原始触摸坐标的第一相对坐标,第一相对坐标为第一原始触摸坐标在投屏窗口内的相对坐标;上述第一电子设备基于第一坐标以及第一扩展显示区最近运行的应用程序窗口的界面布局,确定第二操作用于切换投屏显示内容为第二用户界面,具体包括:基于第一相对坐标,以及投屏窗口和第一电子设备的全屏显示窗口的窗口比例,确定第一相对坐标对应的第二相对坐标,第二相对坐标为投屏窗口内的第一相对坐标在第一电子设备的全屏显示窗口内的相对坐标;基于第二相对坐标以及第一扩展显示区最近运行的应用程序窗口的界面布局,确定第二操作用于切换悬浮窗口的显示内容切换为第二用户界面。
在一种实现方式中,第一坐标为第二操作在第二电子设备的显示屏上的第一原始触摸坐标对应的第二相对坐标,第二相对坐标是基于第一原始触摸坐标的第一相对坐标,以及投屏窗口和第一电子设备的全屏显示窗口的窗口比例确定的;其中,第一相对坐标是第一原始触摸坐标在投屏窗口内的相对坐标,第二相对坐标为投屏窗口内的第一相对坐标在第一电子设备的全屏显示窗口内的相对坐标。
在一种实现方式中,上述第一电子设备在主屏的显示内容上叠加显示悬浮窗口之前,所述方法还包括:第一电子设备显示第一应用的第一应用程序窗口的第一用户界面;检测到针对目标悬浮对象的第三操作,目标悬浮对象为第一应用或第一用于程序窗口;响应于第三操作,第一电子设备创建第一扩展显示区,并将主屏中运行的目标悬浮对象迁移至第一扩展显示区;上述第一电子设备在主屏的显示内容上叠加显示悬浮窗口,具体包括:第一电子设备基于第一扩展显示区运行的目标悬浮对象的图像数据确定悬浮窗口的显示内容,基于主屏显示区的图像数据确定主屏的显示内容,并在主屏的显示内容上叠加显示悬浮窗口。
在一种实现方式中,目标悬浮对象为第一应用,第一扩展显示区用于运行第一应用,悬浮窗口用于基于第一扩展显示区的图像数据显示第一应用的用户界面;或者,目标悬浮对象为第一应用程序窗口,第一扩展显示区用于运行第一应用程序窗口,悬浮窗口用于基于第一扩展显示区的图像数据显示第一应用程序窗口的用户界面。
在一种实现方式中,上述第一电子设备基于第一扩展显示区的图像数据将悬浮窗口的显示内容投屏到第二电子设备之后,所述方法还包括:检测到作用于悬浮窗口显示的第一用户界面的第四操作;响应于第四操作,第一电子设备基于第一扩展显示区将悬浮窗口的显示内容切换为第三用户界面。
在一种实现方式中,上述响应于第四操作,第一电子设备基于第一扩展显示区将悬浮窗口的显示内容切换为第三用户界面,具体包括:获取第四操作的第二原始触摸坐标的第三相对坐标,第三相对坐标是第二原始触摸坐标在悬浮窗口内的相对坐标;基于第三相对坐标,以及悬浮窗口和第一电子设备的全屏显示窗口的窗口比例,确定第三相对坐标对应的第四相对坐标,第四相对坐标为第三相对坐标在第一电子设备的全屏显示窗口内的相对坐标;基于第四相对坐标以及第一扩展显示区最近运行的应用程序窗口的界面布局,确定第四操作用于切换悬浮窗口的显示内容切换为第三用户界面。
在一种实现方式中,主屏的显示内容为第四用户界面,上述第一电子设备在主屏的显示内容上叠加显示悬浮窗口之后,所述方法还包括:检测到针对主屏的第五操作,响应于第五操作,第一电子设备基于主屏显示区的图像数据将主屏的显示内容投屏到第二电子设备;接收第二电子设备发送的针对投屏显示的第四用界面的第二指令;响应于第二指令,第一电子设备基于主屏显示区最近运行的应用程序窗口将主屏的显示内容切换为第五用户界面。
本申请实施例中,由于主屏和悬浮窗口对应两个独立的显示区,用户可以操控悬浮窗口的显示内容,且不影响主屏的显示内容;反之,用户也可以操控主屏的显示内容,且不影响悬浮窗口的显示内容。
第二方面,提供一种电子设备,包括:通信接口、存储器和处理器;所述通信接口、所述存储器与所述处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器从所述存储器中读取所述计算机指令,以使得所述电子设备执行如第一方面中任一种可能的实现方式。
第三方面,提供一种计算机可读存储介质,包括指令,其特征在于,当上述指令在电子设备上运行时,以使得电子设备执行如第一方面中任一种可能的实现方式。
第四方面,提供一种计算机产品当所述计算机程序产品在计算机上运行时,使得所述计算机执行如第一方面中任一种可能的实现方式。
附图说明
图1A为本申请实施例提供的一种通信系统的结构示意图;
图1B为本申请实施例提供的一种投屏通信的示意图;
图2为本申请实施例提供的一种电子设备的结构示意图;
图3A至图3I为本申请实施例提供的应用投屏的界面示意图;
图4A至图4C为本申请实施例提供的应用投屏的正向控制的界面示意图;
图4D至图4F为本申请实施例提供的应用投屏的反向控制的界面示意图;
图5A至图5B为本申请实施例提供的主屏控制的界面示意图;
图6A至图6B为本申请实施例提供的应用投屏的界面示意图;
图7A至图7E为本申请实施例提供的界面投屏的界面示意图;
图7F至图7H为本申请实施例提供的界面投屏的反向控制的界面示意图;
图7I至图7K为本申请实施例提供的界面投屏的正向控制的界面示意图;
图8A至图8D为本申请实施例提供的主屏控制的界面示意图;
图9A至图9B为本申请实施例提供的界面投屏的界面示意图;
图10为本申请实施例提供的一种电子设备的软件架构示意图;
图11A为本申请实施例提供的一种触发悬浮窗口的流程示意图;
图11B为本申请实施例提供的一种触发投屏的流程示意图;
图11C为本申请实施例提供的一种悬浮窗口的投屏控制的流程示意图;
图11D为本申请实施例提供的另一种悬浮窗口的投屏控制方法的流程示意图;
图11E为本申请实施例提供的另一种悬浮窗口的投屏控制方法的流程示意图;
图12为本申请实施例提供的一种投屏方法的流程示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
下面介绍本申请实施例提供涉及的通信系统10。图1A示例性地示出了本申请实施例中提供的一种通信系统10的结构示意图。如图1A所示,该通信系统10包括电子设备100,以及与电子设备100建立连接多个电子设备,例如电子设备200和电子设备300,下面以电子设备200为例进行介绍。
本申请的实施例中,电子设备100可以通过近距离无线通信连接或本地有线连接与电子设备200进行直接连接。示例性的,电子设备100和电子设备200可以具有无线保真(wireless fidelity,WiFi)通信模块、超宽带(ultra wide band,UWB)通信模块、蓝牙(bluetooth)通信模块、近场通信(near field communication,NFC)通信模块、ZigBee通信模块中的一项或多项近距离通信模块。以电子设备100为例,电子设备100可以通过近距离通信模块(例如蓝牙通信模块)发射信号来探测、扫描电子设备100附近的电子设备,使得电子设备100可以通过近距离无线通信协议发现附近的电子设备,并与附近的电子设备建立无线通信连接,以及传输数据至附近的电子设备。
在一些实施例中,电子设备100和电子设备200可以基于有线或无线保真(wireless fidelity,WiFi)连接的方式,通过电子设备400连接至局域网(local areanetwork,LAN)。例如,电子设备400可以是路由器、网关、智能设备控制器等第三方设备。在一些实施例中,电子设备100和电子设备200还可以通过广域网中的至少一个电子设备500进行间接连接。例如,电子设备500可以是硬件服务器,也可以是植入虚拟化环境中的云端服务器。可以理解,通过电子设备400和/或电子设备500,电子设备100可以和电子设备200间接进行无线通信连接以及数据传输。
可以理解的,本实施例示出的结构并不构成对通信系统10的具体限定。在本申请另一些实施例中,通信系统10可以包括比图示更多或更少的设备。
本申请的实施例中,电子设备100和电子设备200建立连接后,电子设备100可以向电子设备200发送投屏的图像数据和/或音频数据等,电子设备200可以基于电子设备100发送的数据进行界面显示和/或音频输出。示例性的,图1B示出了一种电子设备100和电子设备200间的投屏通信示意图。
示例性的,电子设备100和电子设备200均包括显示管理模块和投屏管理模块。显示管理模块用于管理电子设备的界面显示的生命周期,决定如何根据当前连接的物理显示屏和/或虚拟显示屏控制其逻辑显示,并且在显示状态更改时,向系统和应用程序发送通知等等。如图1B所示,显示管理模块包括主屏显示区。电子设备的物理显示屏(也可以称为主屏)可以根据主屏显示区(例如Default Display0)运行的应用的图像数据,进行界面显示。在一些实施例中,电子设备还可以利用显示管理模块创建至少一个扩展显示区,每个扩展显示区对应一个虚拟显示屏;并可以将主屏显示区中运行的指定应用或指定应用程序窗口迁移至扩展显示区(例如Extend Display1)。
投屏管理模块用于从显示管理模块获取投屏的图像数据。示例性的,如图1B所示,投屏管理模块从Extend Display1获取图像数据1,并确定投屏目标端为电子设备200后,投屏管理模块通过无线端口(或有线端口)向电子设备200发送图像数据1。在一些实施例中,电子设备200的投屏管理模块通过无线端口(或有线端口)接收到图像数据1,将上述图像数据1发送到电子设备200的显示模块的主屏显示区(或扩展显示区),电子设备200基于主屏显示区(或扩展显示区)中的图像数据1进行投屏显示。在一种实现方式中,电子设备200也可以没有扩展显示区,本申请实施例对此不作具体限定。
应用程序窗口可以是Android系统中的应用程序窗口,还可是IOS系统中的应用程序窗口,还可以是其他操作系统中的应用程序窗口,此处不作具体限定。一个应用包括多个应用程序窗口,一个应用程序窗口对应一个或多个用户界面。为便于描述,本申请实施例中可以将应用程序窗口简称为窗口。本申请实施例中,窗口也可以看作一个复合控件。
下面对本申请实施例涉及的电子设备的硬件结构进行介绍。
需要说明的是,本申请实施例对电子设备100和电子设备200的类型不做具体限定。在一些实施例中,本申请实施例中涉及的电子设备100和电子设备200可以是手机、可穿戴设备(例如,智能手环,智能手表)、平板电脑、膝上型计算机(laptop)、手持计算机、笔记本电脑、车载设备、智能电视机、超级移动个人计算机(ultra-mobile personal computer,UMPC)、蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(Augmented reality,AR)\虚拟现实(virtual reality,VR)设备等设备。在一些实施例中,电子设备200还可以是投影仪等投影设备。电子设备100和电子设备200的示例性实施例包括但不限于搭载 或者其它操作系统。
参见图2,图2示出了本申请实施例提供的示例性电子设备100的结构示意图。本申请实施例中,电子设备200和电子设备300的硬件结构可以参考电子设备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-networkprocessing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块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)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。随机存取存储器可以包括静态随机存储器(static random-access memory,SRAM)、动态随机存储器(dynamicrandom access memory,DRAM)、同步动态随机存储器(synchronous dynamic randomaccess memory,SDRAM)、双倍资料率同步动态随机存取存储器(double data ratesynchronous dynamic random access memory,DDR SDRAM,例如第五代DDR SDRAM一般称为DDR5SDRAM)等;非易失性存储器可以包括磁盘存储器件、快闪存储器(flash memory)。快闪存储器按照运作原理划分可以包括NOR FLASH、NAND FLASH、3D NAND FLASH等,按照存储单元电位阶数划分可以包括单阶存储单元(single-level cell,SLC)、多阶存储单元(multi-level cell,MLC)、三阶储存单元(triple-level cell,TLC)、四阶储存单元(quad-level cell,QLC)等,按照存储规范划分可以包括通用闪存存储(英文:universal flashstorage,UFS)、嵌入式多媒体存储卡(embedded multi media Card,eMMC)等。在一些实施例中,随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备100的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。
气压传感器180C用于测量气压。磁传感器180D包括霍尔传感器。
加速度传感器180E可检测电子设备100在各个方向上(例如,电子设备100的x、y、z三轴坐标系中的三轴指向的方向)加速度的大小。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。
指纹传感器180H用于采集指纹。
温度传感器180J用于检测温度。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触控操作。触摸传感器可以将检测到的触控操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触控操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
在一些实施例中,电子设备100的触摸屏可接收到用于触发应用或用户界面在悬浮窗口中显示的输入操作。在一些实施例中,电子设备100的触摸屏还可接收到用于触发针对应用、用户界面和/或悬浮窗口的投屏操作。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号、血压跳动信号。
按键190可以是机械按键,也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
下面对本申请实施例提供的示例性的主界面11进行介绍。
示例性的,图3A示出了电子设备100上的用于展示电子设备100安装的应用程序的主界面11。主界面11可以包括:状态栏201,日历指示符202,天气指示符203,具有常用应用程序图标的托盘204,以及其他应用程序图标205。其中:
具有常用应用程序图标的托盘204可展示:电话图标、联系人图标、短信图标、相机图标。其他应用程序图标205可展示:支付的图标、相册的图标、音乐的图标205A、家居的图标、邮箱的图标、云共享的图标、备忘录的图标、设置的图标。用户界面10还可包括页面指示符206。其他应用程序图标可分布在多个页面,页面指示符206可用于指示用户当前查看的是哪一个页面中的应用程序。用户可以左右滑动其他应用程序图标的区域,来查看其他页面中的应用程序图标。
可以理解,图3A仅仅示例性示出了电子设备100上的用户界面,不应构成对本申请实施例的限定。
下面结合附图对本申请实施例涉及的投屏场景进行介绍。
场景1:该场景中,响应于用户的输入操作,电子设备100在主屏的显示内容上叠加显示悬浮窗口1,在悬浮窗口1显示应用1,并可以将悬浮窗口1内应用1的显示内容投屏至电子设备200。用户可以在悬浮窗口1中实时查看正在投屏的应用1,在电子设备100正向控制应用1,以及在电子设备200上反向控制应用1。
下面以应用1为音乐应用为例进行示例性说明。
示例性的,图3A所示的音乐的图标205A可以接收用户的输入操作(例如触摸操作),响应于上述输入操作,电子设备100可以显示图3B所示的音乐应用的用户界面12。
本申请实施例中,电子设备显示音乐应用的用户界面12时,电子设备100检测到作用于音乐应用的应用悬浮操作;如图3C所示,响应于上述应用悬浮操作,电子设备100以悬浮窗口形态运行音乐应用1,将音乐应用1对应的悬浮窗口1层叠显示在主界面11上,悬浮窗口1的显示内容为缩小的音乐应用的用户界面12。
在一些实施例中,上述应用悬浮操作可以是图3B所示的用户的两个手指在显示屏194上滑动,且在滑动过程中上述两个手指在显示屏上的触摸位置逐渐靠近。不限于图3B所示的应用悬浮操作,本申请实施例还可以通过其他输入操作触发电子设备100显示音乐应用对应的悬浮窗口1,此处不做具体限定。本申请实施例中,电子设备100还可以基于悬浮窗口1的尺寸,调整悬浮窗口1内显示的用户界面的尺寸,使得该用户界面适应悬浮窗口1的大小。
具体的,在一种实现方式中,如图3D所示,电子设备100基于主屏显示区(即Default Display0)对应的图像数据全屏显示音乐应用的用户界面12;电子设备100响应于针对音乐应用的应用悬浮操作,创建一个音乐应用对应的扩展显示区(例如ExtendDisplay1),并将音乐应用从主屏显示区移至扩展显示区1;电子设备100在主屏显示区中运行除音乐应用外的余下应用(包括桌面应用)。电子设备100的主屏基于主屏显示区内最近运行的余下应用运行的应用程序窗口,确定上述主屏的显示内容(例如桌面应用的主界面11);电子设备100基于扩展显示区1中最近运行的音乐应用的应用程序窗口,确定悬浮窗口1的显示内容(即用户界面12);电子设备100将悬浮窗口1叠加显示在主屏的显示内容之上。需要说明的是,扩展显示区1用于运行音乐应用,即悬浮窗口1可以用于显示音乐应用的任意应用程序窗口对应的用户界面。
本申请实施例中,响应于接收到的输入操作,电子设备100还可以调整悬浮窗口1在显示屏194上的显示位置和/或尺寸。本申请实施例对上述输入操作不做具体限定。
本申请实施例中,电子设备100可以接收用户的投屏操作,响应于上述投屏操作,电子设备100可以将悬浮窗口1的显示内容或主屏的显示内容投屏至电子设备200。
示例性的,如图3C所示,电子设备100接收用户作用于状态栏201的向下滑动操作,响应于上述滑动操作,电子设备100显示图3E所示的通知栏界面13,通知栏界面包括多个常用的快捷图标207,例如图3E所示的WLAN的图标、蓝牙的图标、投屏的图标207A等。
投屏的图标207A可以接收用户的输入操作,响应于上述输入操作,电子设备100显示图3F所示的投屏选择界面14。投屏选择界面可以用于选择投屏内容和/或投屏目标端,还可以显示电子设备100当前已投屏的投屏内容以及该投屏内容对应的投屏目标端。
投屏选择界面14可以包括一或多个投屏内容选项以及一个多个投屏目标端选项。参见图3F,上述一或多个投屏内容选项可以包括主屏对应的内容选项208A,和/或至少一个悬浮窗口对应的内容选项(例如悬浮窗口1对应的内容选项208B);上述一或多个投屏目标端选项可以包括电子设备200和电子设备300。
本申请实施例中,电子设备100可以将至少一种投屏内容投屏到至少一个投屏目标端。例如,电子设备100也可以将内容选项208B对应的显示内容投屏至电子设备200和电子设备300;电子设备100可以将内容选项208A和内容选项208B对应的显示内容均投屏至电子设备200;电子设备100可以将内容选项208A和内容选项208B对应的显示内容均投屏至电子设备200和电子设备300。此处均不做具体限定。
如图3F所述,投屏选择界面14还可以包括确定控件209。参见图3F和图3G,用户选择主屏对应的内容选项208A和电子设备300后,电子设备100响应于针对确定控件209的输入操作(例如触摸操作),将主屏的显示内容(例如主界面11)发送至电子设备300,电子设备300显示图3G所示的主界面11。参见图3H和图3I,用户选择悬浮窗口1对应的内容选项208B和电子设备200后,电子设备100响应于针对确定控件209的输入操作,将悬浮窗口1的显示内容(例如用户界面12)发送至电子设备200,电子设备200显示图3I所示的用户界面12。在一种实现方式中,如图3H所示,电子设备将主屏的显示内容投屏至电子设备300后,电子设备100可以在投屏选择界面14显示当前已投屏至电子设备300的至少一个内容选项(例如主屏的内容选项210)。
具体的,在一种实现方式中,若用户选择将悬浮窗口1的显示内容投屏至电子设备200,则电子设备100将悬浮窗口1对应的扩展显示区1中运行的音乐应用的图像数据投屏至电子设备200;若用户选择将主屏的显示内容投屏至电子设备200,则电子设备200将主屏显示区中运行的应用的图像数据投屏至电子设备200。
下面以投屏目标端为电子设备200为例进行说明。在一种实现方式中,电子设备200可以根据本设备显示屏的尺寸对电子设备100发送的用户界面进行缩放,也可以对电子设备100发送的用户界面中的控件进行自适应布局,使得上述显示内容中的控件适应性的显示在电子设备200的显示屏中,此处不做具体限定。在一种实现方式中,电子设备100和电子设备200建立连接后,电子设备100可以获取电子设备200进行投屏显示的尺寸1,电子设备100将待投屏的用户界面调整至上述尺寸1后发送到电子设备200。
需要说明的是,不限于通过图3C和图3E所示的用户操作,本申请实施例还可以通过其他用户操作触发电子设备100显示投屏选择界面14。例如,电子设备100接收到用户在显示屏194上的双指向下滑动操作,响应于上述滑动操作,电子设备显示投屏选择界面14。
需要说明的是,不限于先显示投屏选择界面14,并在进行投屏内容和/或投屏目标端的选择后,将投屏内容投屏至投屏目标端,本申请实施例中,图3C中电子设备100还可以直接响应于用户的投屏操作,将指定投屏内容投屏至投屏目标端。例如,图3C中响应于接收到的投屏操作1,电子设备100将悬浮窗口1的显示内容投屏至电子设备200;响应于接收到的投屏操作2,电子设备100将主屏的显示内容投屏至电子设备200。示例性的,投屏操作1可以为用户的指关节在显示屏194上画“Z”形,投屏操作2可以为用户的指关节在显示屏194上画“O”形。
本申请实施例中,用户可以通过电子设备100或电子设备200切换投屏到电子设备200上的内容选项。
示例性的,电子设备100将悬浮窗口1的显示内容投屏至电子设备200后,电子设备100可以响应于接收到的切换操作,将针对电子设备200的投屏内容切换为主屏的显示内容。示例性的,电子设备100将悬浮窗口1的显示内容投屏至电子设备200后,电子设备200可以响应于接收到的切换操作,向电子设备100发送指令1,指令1用于指示电子设备100切换投屏的内容选项为主屏的显示内容。
在一种实现方式中,上述指令1包括上述切换操作的触摸信息(例如触摸坐标、触摸时长和/或触摸轨迹等),电子设备100基于上述切换操作的触摸信息,确定上述切换操作触发的事件为切换投屏至电子设备200的内容选项。
本申请实施例中,用户可以在电子设备100通过悬浮窗口1正向控制音乐应用。
示例性的,如图4A所示,用户界面12包括控件301。控件301可以接收用户的输入操作(例如触摸操作),响应于上述输入操作,电子设备100在悬浮窗口1内显示图4B所示的音乐应用的歌曲播放界面15,并将歌曲播放界面15对应的图像数据发送到电子设备200。电子设备200显示图4C所示的歌曲播放界面15。
具体的,在一些实施例中,电子设备100接收到作用于悬浮窗口的显示区域内的输入操作后,折算上述输入操作在全屏显示的音乐应用上的相对坐标1;电子设备100确定扩展显示区1最近运行的音乐应用的应用程序窗口对应用户界面12,电子设备100基于上述相对坐标1和用户界面12的界面布局,确定上述输入操作是作用于用户界面12中的控件301的触摸操作;响应于上述触摸操作,电子设备100在扩展显示区1运行音乐应用的歌曲播放界面15,并基于扩展显示区1中运行的歌曲播放界面15的图像数据,在悬浮窗口内显示歌曲播放界面15;电子设备100将扩展显示区1中运行的歌曲播放界面15的图像数据发送到电子设备200。
本申请实施例中,用户可以在电子设备200通过投屏显示的用户界面反向控制音乐应用。
示例性的,如图4D所示,用户界面12还包括控件302。控件302可以接收用户的输入操作(例如触摸操作),响应于上述输入操作,电子设备200将上述输入操作的触摸信息发送给电子设备100。基于上述输入操作的触摸信息,响应于上述输入操作,电子设备100在悬浮窗口1内显示图4E所示的音乐应用的歌单界面16,并将歌单界面16对应的图像数据发送到电子设备200。电子设备200显示图4F所示的歌单界面16。
具体的,在一些实施例中,电子设备100接收到电子设备200发送的输入操作的触摸信息后,后,折算上述输入操作在电子设备100全屏显示的音乐应用上的相对坐标1;电子设备100确定扩展显示区1最近运行的音乐应用的应用程序窗口对应用户界面12,基于上述相对坐标1和用户界面12的界面布局,确定上述输入操作是作用于用户界面12中的控件302的触摸操作;进而,响应于上述触摸操作,电子设备100在扩展显示区1运行音乐应用的歌单界面16,在悬浮窗口内显示歌单界面16,以及发送歌单界面16的图像数据发送到电子设备200。
参见图4A至图4F,本申请实施例中,由于主屏和悬浮窗口对应两个独立的显示区,用户可以操控悬浮窗口对应的应用的显示内容,且不影响主屏的显示内容;反之,用户也可以操控主屏的显示内容,且不影响悬浮窗口的显示内容。示例性的,参见图5A和图5B,主屏显示的主界面11显示有相册的图标205B,响应于针对相册的图标205B的输入操作,电子设备100显示相册应用的用户界面17,并在用户界面17上继续叠加显示悬浮窗口1。
此外,在一些应用场景中,用户也可以直接将电子设备100上的应用1直接投屏至电子设备200,无需先调出应用1对应的悬浮窗口,用户可以在电子设备100正向控制应用1,也可以在电子设备200上反向控制应用1。
示例性的,参考图6A,响应于用户的输入操作(例如作用于投屏的图标207A的点击操作),电子设备100显示投屏选择界面20,投屏选择界面20包括主屏对应的内容选项303A和至少一个应用对应的内容选项(例如音乐应用对应的内容选项303B和相册应用对应的内容选项303C)、至少一个投屏目标端对应的选项(例如电子设备200和电子设备300)以及确认控件207A。在一种实现方式中,上述至少一个应用为电子设备100当前正在前台和后台运行的应用。
用户选择音乐应用对应的内容选项303B和电子设备200,响应于针对确认控件207A的输入操作,电子设备100创建一个音乐应用对应的扩展显示区(例如ExtendDisplay1),并将音乐应用从主屏显示区移至扩展显示区1,电子设备100在主屏显示区中运行除音乐应用外的余下应用(包括桌面应用);然后,电子设备100将扩展显示区运行的音乐应用的图像数据发送至电子设备200。上述音乐应用的图像数据可以是音乐应用最近运行的应用程序窗口对应的图像数据,还可是音乐应用的首页的图像数据。示例性的,电子设备200基于电子设备100发送的图像数据显示如图6B所示的音乐应用的首页,即用户界面12。
针对图6A至图6B所示的应用场景,用户可以在电子设备200通过投屏显示的用户界面12反向控制音乐应用,也可以在电子设备100打开音乐应用,进而正向控制音乐应用。具体实现可以参考图4A至图4F相关实施例的描述,此处不再赘述。
此外,不限于图6A所示的投屏方式,本申请实施例还可以通过其他投屏方式,直接将指定应用投屏至投屏目标端。
场景2:该场景中,响应于用户的输入操作,电子设备100可以叠加显示主屏的显示内容和悬浮窗口2,悬浮窗口2用于显示应用1的应用程序窗口1,并可以将悬浮窗口内应用程序窗口1的显示内容投屏至电子设备200。用户可以在悬浮窗口2中实时查看正在投屏的应用程序窗口1,在电子设备100正向控制应用程序窗口1,以及在电子设备200上反向控制应用程序窗口1。
其中,应用程序窗口1可以是应用1的应用程序窗口,也可以是应用1的应用程序窗口中内嵌的应用程序子窗口。本申请中,应用程序子窗口也可以被称为应用程序窗口。
下面以应用1为会议应用为例进行示例性说明。
示例性的,图7A示出了一种视频会议界面18,视频会议界面18包括会议名称401、菜单栏402和视频通话内容19。
其中,菜单栏402包括多个控制视频会议的控件,例如静音控件、扬声器控件、结束会议控件、切换摄像头控件和录像控件等等。视频通话内容19包括至少一个显示区,例如显示区403A、显示区403B和显示区403C。显示区403A可以用于显示电子设备100的摄像头采集的图像;显示区403B可以用于显示视频联系人1的电子设备的摄像头采集的图像;显示区403C可以用于显示视频联系人2的电子设备的摄像头采集的图像。
本申请实施例中,电子设备显示视频会议界面18时,电子设备100可以接收用户作用于视频通话内容19的界面悬浮操作;如图7B所示,响应于上述界面悬浮操作,电子设备100以悬浮窗口形态运行会议应用的视频通话内容19,并将视频通话内容19对应的悬浮窗口2层叠显示在用户界面18上,悬浮窗口2的显示内容为缩小的视频通话内容19。图7B所示的视频会议界面18中的原本显示视频通话内容19的区域可以显示空白区域(例如黑色空白区或白色空白区)。
需要说明的是,视频通话内容19可以是视频会议界面18对应的应用程序窗口内嵌的一个应用程序子窗口。
在一些实施例中,视频通话内容19包括图7A所示的悬浮控件404,界面悬浮操作可以是作用于悬浮控件404的触摸操作。不限于图7A所示的界面悬浮操作,本申请实施例还可以通过其他输入操作触发电子设备100显示悬浮窗口2,此处不做具体限定。
具体的,在一种实现方式中,电子设备100响应于针对视频通话内容19的界面悬浮操作,创建一个视频通话内容19对应的扩展显示区1,将视频通话内容19对应的应用程序窗口1从主屏显示区移至扩展显示区1;电子设备100的主屏运行会议应用中除视频通话内容19对应的应用程序窗口1之外的应用程序窗口以及除会议应用外的余下应用(包括桌面应用)。电子设备100的主屏基于主屏显示区内最近运行的应用程序窗口对应的图像数据确定主屏的显示内容基于扩展显示区1中运行的视频通话内容19对应的图像数据(例如用户界面18),确定悬浮窗口2的显示内容;然后电子设备100在主屏的显示内容上叠加悬浮窗口2。可以理解,扩展显示区1用于运行会议应用的视频通话内容19对应的应用程序窗口1,悬浮窗口2可以用于显示上述应用程序窗口1对应的显示内容。
本申请实施例中,电子设备100可以接收用户的投屏操作,响应于上述投屏操作,电子设备100可以将悬浮窗口2的显示内容或主屏的显示内容投屏至电子设备200。
在一种实现方式中,类似于场景1,用户调出图7C所示的投屏选择界面14,投屏选择界面14包括悬浮窗口2对应的内容选项。示例性的,用户选择悬浮窗口2对应的内容选项208C,并选择电子设备200为投屏目标端后,电子设备100响应于针对控件209的输入操作,将悬浮窗口2内视频通话内容19的图像数据发送至电子设备200,电子设备200基于电子设备100发送的图像数据显示图7D所示的视频通话内容19。
在一种实现方式中,电子设备100显示如图7E所示的视频通话内容19的投屏控件405。投屏控件405可以接收用户的输入操作,响应于上述输入操作,电子设备可以直接将悬浮窗口2的显示内容投屏送至特定投屏目标端。
不限于图7C至图7E所示的投屏方式,本申请实施例还可以通过其他投屏方式进行投屏。
本申请实施例中,电子设备100可以基于悬浮窗口2的尺寸,调整悬浮窗口2内显示的视频通话内容19的尺寸,使得图7B显示的视频通话内容19适应悬浮窗口2的大小。电子设备100还可以基于电子设备200的尺寸调整投屏至电子设备200的视频通话内容19的尺寸,使得图7D显示的视频通话内容19适应电子设备200的显示屏的大小。
本申请实施例中,用户可以在电子设备200反向控制视频通话内容19。
示例性的,如图7F所示,用户点击电子设备200显示的视频通话内容19中的显示区403B,电子设备200检测到上述输入操作,将上述输入操作的触摸信息发送给电子设备100。电子设备100基于上述输入操作的触摸信息,确定上述输入操作是作用于显示区403B的点击操作;如图7G所示,响应于上述输入操作,电子设备100切换显示区403A和显示区B的视频源,即在显示区403A显示视频联系人1的电子设备的摄像头采集的图像,在显示区403B显示电子设备100的摄像头采集的图像;并将切换显示区后的视频通话内容19的图像数据实时发送给电子设备200;电子设备200显示如图7H所示的切换显示区后的视频通话内容19。
具体的,可以参考场景1的相关实施例中有关在电子设备200反向控制投屏内容的描述,此处不再赘述。
本申请实施例中,用户可以在电子设备100通过悬浮窗口2正向控制视频通话内容19。
示例性的,电子设备100可以检测到作用于图7I所示的显示区403C的输入操作;如图7J所示,响应于上述输入操作,电子设备100会切换显示区403A和显示区403C的视频源,即在显示区403A显示视频联系人2的电子设备的摄像头采集的图像,在显示区403B显示视频联系人1的电子设备的摄像头采集的图像;并将切换显示区后的视频通话内容19的图像数据发送至电子设备200;电子设备200显示图7K所示的视频通话内容19。
具体的,可以参考场景2的相关实施例中有关在电子设备100正向控制投屏内容的描述,此处不再赘述。
参见图7A至图7K,本申请实施例中,用户可以在电子设备100操控悬浮窗口2对应的显示内容,且不影响主屏的显示内容。反之,用户也可以操控主屏的显示,且不影响悬浮窗口的显示内容。示例性的,如图8A所示,响应于检测到的输入操作,电子设备100显示主界面11,并在主界面11上继续叠加显示悬浮窗口2。
在一些实施例中,悬浮窗口2用于显示视频会议应用的视频通话内容19,用户也可以通过主屏显示的视频会议应用的用户界面,正向控制视频通话内容19。
示例性的,电子设备100包括例如前置摄像头和后置摄像头,图8B所示的显示区403A显示电子设备100的前置摄像头采集的图像,图8B所示的菜单栏402包括转换摄像头控件402A。响应于针对转换摄像头控件402A的输入操作,电子设备100将视频通话的前置摄像头切换为后置摄像头,显示区403A显示图8C所示的后置摄像头采集的图像;并将切换摄像头后的视频通话内容19的图像数据投屏至电子设备200;电子设备200显示图8D所示的视频通话内容19。
类似于场景1,本申请实施例中,电子设备100可以将至少一种投屏内容投屏到至少一个投屏目标端;用户可以通过电子设备100或电子设备200切换投屏到电子设备200上的内容选项;用户可以调整悬浮窗口2在显示屏194上的显示位置和/或显示尺寸。具体的,均可以参考场景1的相关实施例,此处均不再赘述。
此外,在一些应用场景中,用户也可以直接将电子设备100上的应用1的特定应用程序窗口对应的图像数据直接投屏至电子设备200,无需先调出上述特定应用程序窗口对应的悬浮窗口,用户可以在电子设备100正向控制上述特定应用程序窗口对应的显示内容,也可以在电子设备200上反向控制上述特定应用程序窗口对应的显示内容。
示例性的,上述特定应用程序窗口为视频显示内容19对应的应用程序窗口1。参考图9A,视频会议界面18显示针对视频显示内容19的投屏控件406;响应于针对投屏控件406的输入操作,电子设备100创建一个应用程序窗口1对应的扩展显示区(例如ExtendDisplay1),并将应用程序窗口1从主屏显示区移至扩展显示区1,电子设备100在主屏显示区中运行除应用程序窗口1外的余下应用程序窗口;然后,电子设备100将扩展显示区运行的应用程序窗口1的图像数据发送至电子设备200;电子设备200基于电子设备100发送应用程序窗口1的图像数据显示如图9B所示的视频显示内容19。
针对图9A至图9B所示的直接将视频显示内容19至电子设备200的应用场景,用户可以在电子设备200通过投屏显示的视频显示内容19对其进行反向控制,也可以在电子设备100显示视频显示内容19,进而对其进行正向控制。具体实现可以参考图4A至图4F相关实施例的描述,此处不再赘述。
此外,不限于图9A至图9B所示的投屏方式,本申请实施例还可以通过其他投屏方式,直接将指定特定应用程序窗口对应的显示内容投屏至投屏目标端,此处均不再赘述。
参见上述场景1和场景2的相关描述,实施本申请实施例,电子设备100可以为指定应用1(或指定应用程序窗口1)创建扩展显示区,从而将应用1(或应用程序窗口1)与主屏显示区运行的其他内容隔离开。由于主屏的显示内容和应用1(或应用程序窗口1)对应两个独立的显示区,电子设备100响应于用户的输入操作,可以将应用1(或应用程序窗口1)通过悬浮窗口叠加显示在主屏的显示内容上,将应用1(或应用程序窗口1)对应的图像数据投屏至投屏目标端,并可以有效实现在电子设备100对悬浮窗口的显示内容的正向控制,以及在投屏目标端对投屏内容的反向控制。此外,通过对镜像投屏的内容过滤和图像合成来实现投屏的传统方案,需要被过滤应用提供图层标识适配,由于一个应用有多个图层,可能存在漏投、多投的情况。而本申请实施例电子设备100基于主屏显示区或扩展显示区对应的图像数据进行投屏显示,有效避免了漏投、多投的情况。
下面结合附图对本申请实施例涉及的电子设备100的软件系统进行介绍。
在本申请实施例中,电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
示例性的,图10示出了本申请实施例提供的电子设备100的软件架构框图。
如图10所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将Android系统从上至下分为应用程序层,应用程序框架层,硬件抽象层(hardware abstraction layer,HAL)层以及内核层(kernel)。其中:
应用程序层包括一系列应用程序包,例如即时通讯应用、音乐、图库等等。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
如图10所示,本申请实施例中,应用程序框架层可以包括窗口管理模块、应用管理模块、事件管理服务(input manager service,IMS)、显示管理模块、图像合成模块、投屏选择器、投屏管理模块和折算模块。
窗口管理模块用于管理应用程序窗口的创建、显示与隐藏。应用程序窗口可以是Android系统中的应用程序窗口,还可是IOS系统中的应用程序窗口,还可以是其他操作系统中的应用程序窗口,此处不作具体限定。一个应用包括多个应用程序窗口,一个应用程序窗口对应一个或多个用户界面。为便于描述,本申请实施例中可以将应用程序窗口简称为窗口。
在一些实施例中,窗口管理模块包括Window管理服务(Window Manager Service,WMS),WMS是android系统的系统服务,控制所有窗口的显示与隐藏。WMS为所有窗口分配界面(Surface),管理Surface的显示顺序、尺寸、位置等,控制窗口动画,是输入系统的重要的中转站。
应用管理模块可以用于获取应用当前运行的应用程序窗口的窗口比例。在一些实施例中,应用程序窗口以悬浮窗口的形式显示在显示屏194上,悬浮窗口的尺寸小于该应用程序窗口全屏显示的尺寸,该悬浮窗口的窗口比例可以指该悬浮窗口与全屏显示窗口的尺寸比例。
在一些实施例中,应用管理模块包括Activity管理服务(ActivityManagerService,AMS),AMS是安卓(android)系统的系统服务,用于控制系统中不同的应用程序之间合理的调度与运行,对Activity任务栈进行管理。AMS的主要职责包括统一调度各应用程序的Activity、管理应用程序的进程(process)、管理内存、调度服务(service)、调度任务(Task)、查询系统当前运行状态等等。应用管理模块根据Activity任务栈可以确定应用是否为前台运行的顶层应用、前台运行的应用或后台运行的应用。
事件管理模块用于管理整个系统的输入事件和事件分发。在一些实施例中,事件管理模块包括触控监控模块,触控监控模块用于监控和确定触摸屏上的输入事件。在一些实施例中,触控监控模块可以通过AMS确定前台运行的应用的顶层activity,结合上述顶层activity对应的界面布局以及触摸操作对应的原始事件,确定上述触摸操作对应的输入事件。
显示管理模块用于管理电子设备100的物理显示和/或虚拟显示。具体的,用于管理界面显示的生命周期,决定如何根据当前连接的物理显示屏和/或虚拟显示屏控制其逻辑显示,并且在显示状态更改时,向系统和应用程序发送通知等等。显示管理模块可以包括主屏显示区或扩展显示区,具体的,可以参考图1B的相关描述,此处不再赘述。
图像合成模块用于基于主屏显示区和/或扩展显示区中对应的图像数据合成图像。在一些实施例中,图像合成模块用于将悬浮窗口叠加显示在主屏的显示内容上,合成显示屏194最终的显示内容。
投屏选择器用于确定投屏内容,投屏内容可以是主屏显示区运行的应用程序窗口对应的图像数据,也可以是扩展显示区(例如Extend Display1)中运行的应用程序窗口对应的图像数据。在一些实施例中,投屏选择器还用于确定投屏目标端。在一种实现方式中,参见图1B,当投屏选择器确定投屏目标端时,电子设备100可以通过无线端口或有线端口向上述投屏目标端发送投屏请求,并在接收到投屏目标端投屏发送的同意投屏的投屏响应后,向上述投屏目标端发送上述投屏内容。
投屏管理模块用于从显示管理模块获取投屏内容的图像数据。
折算模块用于计算作用于悬浮窗口的触控操作的相对坐标,以便于用户正向控制悬浮窗口内的显示内容;还用于计算作用于电子设备200显示的投屏内容的触摸操作的相对坐标,以便于用户反向控制投屏内容。
内核层是硬件和软件之间的层。HAL层及内核层(kernel)可以响应于应用程序框架层调用的功能,执行对应的操作。如图10所示,内核层可以包括输入系统、触控芯片驱动、显示驱动等等。在一些实施例中,内核层还可以包含传感器驱动、摄像头驱动,音频驱动等等。各驱动用于将硬件抽象化,以隐藏硬件的特定通道,使应用可访问(或调用)硬件。
基于上述软件架构,下面对本申请实施例提供的投屏方法的具体实现进行示例性说明。
本申请实施例中,电子设备100检测到针对目标悬浮对象的悬浮操作,响应于上述悬浮操作,电子设备100在主屏的显示内容上叠加显示悬浮窗口,悬浮窗口用于显示目标悬浮对象对应的显示内容。参考场景1和场景2的相关描述,上述目标悬浮对象可以是指定应用(例如前述音乐应用),相应地,上述悬浮操作可以为前述应用悬浮操作;上述目标悬浮对象也可以是一个应用的指定应用程序窗口(例如前述视频显示区19),相应地,上述悬浮操作可以为前述界面悬浮操作。示例性的,电子设备100的具体实现流程可以参考图11A。其中:
在一些实施例中,触摸传感器180K接收到触控操作1(例如用户的悬浮操作),相应的硬件中断被发给触控芯片,触控芯片将触控操作的触摸信息发送给内核层的触控芯片驱动,触控芯片驱动将上述触摸信息发送给输入系统,输入系统将上述触控操作1加工成原始输入事件(包括触摸坐标、触摸时间和/或触摸轨迹等信息),原始输入事件被存储在内核层。事件管理模块从内核层获取原始输入事件,结合最近运行的应用程序窗口对应的界面布局确定上述原始输入事件用于触发目标悬浮对象的悬浮窗口。事件管理模块将该事件分发给窗口管理模块;窗口管理模块指示显示管理模块创建目标悬浮对象对应的扩展显示区。显示管理模块创建目标悬浮对象对应的扩展显示区,即Extentd Display1,并指示窗口管理服务完成目标悬浮对象的悬浮窗口的创建。显示管理模块从窗口管理模块获取目标悬浮对象对应的图像数据,缓存到Extentd Display1。图像合成模块从显示管理模块中的主屏显示区获取主屏的显示内容,从Extentd Display1获取悬浮窗口的显示内容,并将悬浮窗口叠加显示到主屏的显示内容上,合成显示内容1。图像合成模块将显示内容1发送给显示模块,显示模块调用显示驱动,将显示内容送显到显示屏194。
本申请实施例中,电子设备100检测到针对目标投屏内容的投屏操作,响应于上述投屏操作,电子设备从目标投屏内容对应的显示区获取目标投屏内容的图像数据,并发送到目标投屏端。参考场景1和场景2的相关描述,上述目标投屏内容可以是主屏,相应地,目标投屏内容对应的显示区为主屏显示区;上述目标投屏内容也可以是悬浮窗口,相应地,目标投屏内容对应的显示区为Extentd Display1。示例性的,电子设备100的具体实现流程可以参考图11B。其中:
触摸传感器180K接收到触控操作2(即用户的投屏操作),相应的硬件中断被发给触控芯片,触控芯片驱动将上述触控操作2的触摸信息发送给输入系统,输入系统将上述触控操作2加工成原始输入事件。事件管理模块从内核层获取原始输入事件,结合最近运行的应用程序窗口对应的界面布局确定上述原始输入事件用于触发对目标投屏内容进行投屏。事件管理模块向投屏选择器指示上述目标投屏内容;投屏选择器确定上述目标投屏内容对应的显示区1(即主屏显示区或Extentd Display1),并指示显示管理模块基于显示区1的图像数据进行投屏;显示管理模块向投屏管理模块发送显示区1的图像数据;投屏管理模块通过有线端口或无线端口将上述图像数据发送到投屏目标端。
本申请实施例中,电子设备100检测到针对悬浮窗口内目标悬浮对象的显示内容2的触控操作3,响应于上述触控操作3,电子设备100在悬浮窗口内显示目标悬浮对象对应的显示内容3。参考场景1和场景2的相关描述,上述目标悬浮对象可以是指定应用,例如目标悬浮对象为前述音乐应用,显示内容2为用户界面12,上述触控操作3为作用于控件301的触控操作,显示内容3为歌单界面16;上述目标悬浮对象也可以是一个应用的指定应用程序窗口1对应的用户界面,例如目标悬浮对象为前述视频显示内容19,显示内容2为图7I所示的视频显示内容19,上述触控操作3为作用于图7I所示的显示区403C的触控操作,显示内容3为图7J所示的视频显示内容19。示例性的,悬浮窗口内显示用户界面2,电子设备100的具体实现流程可以参考图11C。其中:
在一些实施例中,触摸传感器180K接收到触控操作3,相应的硬件中断被发给触控芯片,触控芯片驱动将上述触控操作3的触摸信息发送给输入系统,输入系统将上述触控操作3加工成原始输入事件。事件管理模块从内核层获取原始输入事件,基于原始输入事件中的触摸坐标,确定上述触控操作3作用于悬浮窗口。事件管理模块向窗口管理模块发送触控操作3的触摸坐标,指示获取触控操作3的原始触摸坐标的相对坐标1,相对坐标1指触控操作3在全屏显示的用户界面2上的相对触摸坐标,用户界面2为悬浮窗口当前的显示内容。窗口管理模块基于悬浮窗口的坐标系和悬浮窗口在显示屏194上的显示位置计算触控操作3在悬浮窗口内的相对坐标2,并向折算模块发送相对坐标2;折算模块向应用管理模块获取悬浮窗口的窗口比例,并基于该窗口比例和相对坐标2,折算触控操作3的相对坐标1,折算模块向事件管理模块发送触控操作3的相对坐标1;事件管理模块基于触控操作3的相对坐标1,以及Extentd Display1中运行的用户界面2的界面布局,确定触控操作3是作用于用户界面2的控件1的触控操作;事件管理模块确定上述触控操作3用于触发悬浮窗口显示目标悬浮对象的显示内容3。
示例性的,主屏的坐标系为图11D所示xy坐标系,悬浮窗口的坐标系为图11D所示ab坐标系。悬浮窗口的ab坐标系中的坐标(0,0)对应主屏的xy坐标系中的坐标(x1,y1)。电子设备100检测到触控操作3的触摸坐标包括坐标(x2,y2)时,电子设备100折算坐标(x2,y2)在悬浮窗口内的相对坐标2为(x2-x1,y2-y1),然后基于悬浮窗口比例c和相对坐标2,折算上述坐标(x2,y2)在全屏显示的用户界面2上的相对坐标1为(c(x2-x1),c(y2-y1))。
本申请实施例中,电子设备200检测到针对投屏窗口内的显示内容4的触控操作4,电子设备200将上述触控操作4的触摸信息发送给电子设备100。上述显示内容4可以为电子设备100的主屏或悬浮窗口的当前显示内容。电子设备100基于触控操作4的触摸信息,确定上述触摸操4作用于触发电子设备100切换投屏内容为显示内容5;响应于上述触控操作4,电子设备100切换主屏或悬浮窗口的显示内容为显示内容5,并将显示内容5投屏至电子设备200。参考场景1和场景2的相关描述,上述目标悬浮对象可以是指定应用,例如目标悬浮对象为前述音乐应用,显示内容4为图4D所示的电子设备200投屏显示的用户界面12,上述触控操作4为作用于电子设备200投屏显示的用户界面12中的控件302的触控操作,显示内容5为歌单界面16;上述目标悬浮对象也可以是一个应用的指定应用程序窗口1对应的用户界面,例如目标悬浮对象为前述视频显示内容19,显示内容4为图7F所示的电子设备200投屏显示的视频显示内容19,上述触控操作4为作用于图7F所示的显示区403B的触控操作,显示内容5为图7G和图7H所示的视频显示内容19。示例性的,显示内容4为主屏或悬浮窗口的用户界面2,电子设备100的具体实现流程可以参考图11E。其中:
在一些实施例中,电子设备200检测到触控操作4后,基于电子设备200的投屏窗口在电子设备200的显示屏上的显示位置,折算触控操作4在投屏窗口内的相对坐标4,并将触控操作4的触摸信息发送给电子设备100,触控操作4的触摸信息包括相对坐标4。电子设备100接收到电子设备200发送的触控操作4的触摸信息后,将上述触摸信息发送给输入系统,输入系统将上述触控操作4加工成原始输入事件。事件管理模块从内核层获取原始输入事件,确定上述触控操作作用于投屏的用户界面2。事件管理模块向窗口管理模块发送触控操作4的相对坐标4,指示获取触控操作4的相对坐标5,相对坐标5是触控操作4在全屏显示的用户界面2上的相对触摸坐标。窗口管理模块向折算模块发送相对坐标4,指示获取触控操作4的相对坐标5;折算模块向应用管理模块获取电子设备200显示的投屏窗口与电子设备100全屏显示的窗口间的窗口比例,并基于该窗口比例和相对坐标4,折算触控操作4的相对坐标5,折算模块向事件管理模块发送触控操作4的相对坐标5;事件管理模块基于触控操作4的相对坐标5,以及主屏显示区或悬浮窗口的Extentd Display1中运行的用户界面2的界面布局,确定触控操作4是作用于用户界面2的控件1的触控操作;事件管理模块确定上述触摸操作用于触发切换主屏或悬浮窗口的投屏内容为显示内容5。
在一些实施例中,电子设备200也可以将触控操作4的原始触摸坐标以及投屏窗口在电子设备200的显示屏上的显示位置发送给电子设备100,再由电子设备100计算上述相对坐标4。
折算触控操作4在投屏窗口内的相对坐标4可以参考前述触控操作3的相对坐标2的计算方式,折算触控操作4的相对坐标5可以参考前述触控操作3的相对坐标1的计算方式,此处不再赘述。需要说明的是,图10仅是本申请实施例对软件结构框图的示例性说明,图10所示的软件结构框图的各层还可以包括其他模块,此处不作具体限定。
图12示例性示出了本申请实施例提供的一种投屏方法,上述投屏方法包括但不限于步骤S101至S104,其中:
S101、第一电子设备在主屏的显示内容上叠加显示悬浮窗口,悬浮窗口内显示第一用户界面,主屏的显示内容是基于主屏显示区的图像数据确定的,悬浮窗口的显示内容是基于第一扩展显示区的图像数据确定的。
本申请实施例中,第一电子设备可以是前述实施例中的电子设备100,第二电子设备可以是前述实施例中的电子设备200或电子设备300。
示例性的,参见场景1的相关实施例,上述主屏的显示内容可以为图3C所示的桌面应用的主界面11,悬浮窗口可以是前述悬浮窗口1,悬浮窗口显示的第一用户界面可以为图3C所示的音乐应用的用户界面12。上述主屏显示区可以为前述Default Display0,上述主屏显示区用于运行除扩展显示区运行的应用之外的应用(例如桌面应用),主屏基于主屏显示区运行的应用的图像数据显示桌面应用的主界面11;上述第一扩展显示区可以为前述ExtentdDisplay1,第一扩展显示区用于运行音乐应用,悬浮窗口1基于第一扩展显示区运行的音乐应用对应的图像数据显示用户界面12。
示例性的,参见场景2的相关实施例,上述主屏的显示内容可以为图7B所示的会议应用的视频会议界面18(图7B所示的视频会议界面18不包括前述视频通话内容19),悬浮窗口可以是前述悬浮窗口2,悬浮窗口显示的第一用户界面可以为图7B所示的会议应用的视频通话内容19。上述主屏显示区可以为前述Default Display0,上述主屏显示区用于运行除扩展显示区运行的应用程序窗口之外的应用的应用程序窗口(例如会议应用中除视频通话内容19外的应用程序窗口,以及除会议应用外其他应用的应用程序窗口),主屏基于主屏显示区运行的应用的图像数据显示会议应用的视频会议界面18;上述第一扩展显示区可以为前述扩展显示区1(Extentd Display1),第一扩展显示区用于运行会议应用中的视频通话内容19对应的应用程序窗口1,悬浮窗口1基于第一扩展显示区运行的应用程序窗口1对应的图像数据显示视频通话内容19。
S102、检测到针对悬浮窗口的第一操作,响应于第一操作,第一电子设备基于第一扩展显示区的图像数据将悬浮窗口的显示内容投屏到第二电子设备。
示例性的,参见场景1的相关实施例,悬浮窗口(即悬浮窗口1)用于基于扩展显示区1显示音乐应用,第一用户操作可以是前述投屏操作。例如,参见图3H和图3I,第一用户操作可以是在用户选择悬浮窗口1对应的内容选项208B和电子设备200后,作用于控件209的输入操作(例如触摸操作)。
本申请实施例中,若用户选择将悬浮窗口1的显示内容投屏至电子设备200,则电子设备100将悬浮窗口1对应的扩展显示区1中运行的音乐应用的图像数据投屏至电子设备200;若用户选择将主屏的显示内容投屏至电子设备200,则电子设备200将主屏显示区中运行的应用的图像数据投屏至电子设备200。
示例性的,参见场景2的相关实施例,悬浮窗口(即悬浮窗口2)用于基于扩展显示区1显示会议应用中的视频通话内容19,第一用户操作可以是前述投屏操作。例如,参见图7C,第一用户操作可以是在用户选择悬浮窗口2对应的内容选项208C并选择电子设备200为投屏目标端后,作用于控件209的输入操作。
本申请实施例中,若用户选择将悬浮窗口2的显示内容投屏至电子设备200,则电子设备100将悬浮窗口2对应的扩展显示区1中运行的视频通话内容19的图像数据投屏至电子设备200;若用户选择将主屏的显示内容投屏至电子设备200,则电子设备200将主屏显示区中运行的应用的应用程序窗口的图像数据投屏至电子设备200。
S103、接收第二电子设备发送的针对投屏显示的第一用界面的第一指令。
S104、响应于第一指令,第一电子设备基于第一扩展显示区运行的应用程序窗口将悬浮窗口的显示内容切换为第二用户界面。
示例性的,如图4D所示,第二电子设备为电子设备200,电子设备200投屏显示的用户界面12包括控件302。控件302可以接收用户的输入操作(例如触摸操作),响应于上述输入操作,电子设备200可以向电子设备100发送第一指令,第一指令包括上述输入操作的触摸信息。基于第一指令中携带的上述输入操作的触摸信息,响应于上述输入操作,电子设备100切换悬浮窗口1的显示内容为第二用户界面,即图4E所示的音乐应用的歌单界面16,并将歌单界面16对应的图像数据发送到电子设备200,电子设备200显示图4F所示的歌单界面16。
示例性的,如图7F所示,第二电子设备为电子设备200,电子设备200投屏显示的视频通话内容19包括显示区403B。显示区403B可以接收用户的输入操作(例如触摸操作),响应于上述输入操作,电子设备200可以向电子设备100发送第一指令,第一指令包括上述输入操作的触摸信息。基于第一指令中携带的上述输入操作的触摸信息,响应于上述输入操作,电子设备100切换视频通话内容19中显示区403A和显示区B的视频源,即切换悬浮窗口1的显示内容为第二用户界面(即图7G所示的视频通话内容19),并将切换后的视频通话内容19的图像数据发送到电子设备200,电子设备200显示图7H所示的视频通话内容19。
需要说明的是,图7B和图7F所示的悬浮窗口内的具体显示内容不同,但均对应同一个应用程序窗口,即视频通话内容19对应的应用程序窗口。
在一种实现方式中,上述第一指令包括作用于第二电子设备显示的投屏窗口内第一用界面的第二操作的第一坐标;上述第一电子设备基于第一扩展显示区运行的应用程序窗口将悬浮窗口的显示内容切换为第二用户界面,具体包括:第一电子设备基于第一坐标以及第一扩展显示区最近运行的应用程序窗口的界面布局,确定第二操作用于切换投屏显示内容为第二用户界面;电子设备将悬浮窗口的显示内容切换为第二用户界面,并将第二用户界面的图像数据发送到第二电子设备。
示例性的,参考场景1的相关实施例,第二操作可以是如图4D所示的作用于控件302的输入操作,第一扩展显示区最近运行的应用程序窗口即为音乐应用的用户界面12对应的应用程序窗口。
示例性的,参考场景2的相关实施例,第二操作可以是如图7F所示的作用于显示区403B的输入操作,第一扩展显示区最近运行的应用程序窗口即为视频通话内容19对应的应用程序窗口。
在一种实现方式中,第一坐标为第二操作在第二电子设备的显示屏上的第一原始触摸坐标;上述第一电子设备基于第一坐标以及第一扩展显示区最近运行的应用程序窗口的界面布局,确定第二操作用于切换投屏显示内容为第二用户界面,具体包括:基于投屏窗口在第二电子设备显示屏上的位置,获取第一原始触摸坐标的第一相对坐标,第一相对坐标是第一原始触摸坐标在投屏窗口内的相对坐标;基于第一相对坐标,以及投屏窗口和第一电子设备的全屏显示窗口的窗口比例,确定第一相对坐标对应的第二相对坐标,第二相对坐标为投屏窗口内的第一相对坐标在第一电子设备的全屏显示窗口内的相对坐标;基于第二相对坐标以及第一扩展显示区最近运行的应用程序窗口的界面布局,确定第二操作用于切换悬浮窗口的显示内容切换为第二用户界面。
参考图11E的相关实施例,上述第二操作可以是图11E描述的触控操作4,第一坐标为电子设备200检测到的触控操作4的原始触摸坐标,第一相对坐标可以是前述相对坐标4,第二相对坐标可以是前述相对坐标5。
在一种实现方式中,第一坐标为第二操作在第二电子设备的显示屏上的第一原始触摸坐标的第一相对坐标,第一相对坐标为第一原始触摸坐标在投屏窗口内的相对坐标;上述第一电子设备基于第一坐标以及第一扩展显示区最近运行的应用程序窗口的界面布局,确定第二操作用于切换投屏显示内容为第二用户界面,具体包括:基于第一相对坐标,以及投屏窗口和第一电子设备的全屏显示窗口的窗口比例,确定第一相对坐标对应的第二相对坐标,第二相对坐标为投屏窗口内的第一相对坐标在第一电子设备的全屏显示窗口内的相对坐标;基于第二相对坐标以及第一扩展显示区最近运行的应用程序窗口的界面布局,确定第二操作用于切换悬浮窗口的显示内容切换为第二用户界面。
可以理解,在一种实现方式中,第二电子设备检测到触摸操作4后,可以计算触摸操作4的原始触摸坐标的相对坐标4,并在发送给第一电子设备的第一指令里携带上述相对坐标4;然后第一电子设备基于上述相对坐标4和第一扩展显示区最近运行的应用程序窗口的界面布局,确定第二操作用于切换悬浮窗口的显示内容切换为第二用户界面。
在一种实现方式中,第一坐标为第二操作在第二电子设备的显示屏上的第一原始触摸坐标对应的第二相对坐标,第二相对坐标是基于第一原始触摸坐标的第一相对坐标,以及投屏窗口和第一电子设备的全屏显示窗口的窗口比例确定的;其中,第一相对坐标是第一原始触摸坐标在投屏窗口内的相对坐标,第二相对坐标为投屏窗口内的第一相对坐标在第一电子设备的全屏显示窗口内的相对坐标。
可以理解,在一种实现方式中,第二电子设备检测到触摸操作4后,可以计算触摸操作4的原始触摸坐标的相对坐标4,并计算相对坐标4对应的相对坐标5,然后在发送给第一电子设备的第一指令里携带上述相对坐标5;第一电子设备基于上述相对坐标5和第一扩展显示区最近运行的应用程序窗口的界面布局,确定第二操作用于切换悬浮窗口的显示内容切换为第二用户界面。
在一种实现方式中,上述第一电子设备在主屏的显示内容上叠加显示悬浮窗口之前,所述方法还包括:第一电子设备显示第一应用的第一应用程序窗口的第一用户界面;检测到针对目标悬浮对象的第三操作,目标悬浮对象为第一应用或第一用于程序窗口;响应于第三操作,第一电子设备创建第一扩展显示区,并将主屏中运行的目标悬浮对象迁移至第一扩展显示区;上述第一电子设备在主屏的显示内容上叠加显示悬浮窗口,具体包括:第一电子设备基于第一扩展显示区运行的目标悬浮对象的图像数据确定悬浮窗口的显示内容,基于主屏显示区的图像数据确定主屏的显示内容,并在主屏的显示内容上叠加显示悬浮窗口。
在一种实现方式中,目标悬浮对象为第一应用,第一扩展显示区用于运行第一应用,悬浮窗口用于基于第一扩展显示区的图像数据显示第一应用的用户界面;或者,目标悬浮对象为第一应用程序窗口,第一扩展显示区用于运行第一应用程序窗口,悬浮窗口用于基于第一扩展显示区的图像数据显示第一应用程序窗口的用户界面。
示例性的,参见场景1的相关实施例,目标悬浮对象为第一应用,第一应用可以为前述音乐应用,上述第一用户界面可以为图3B所示的用户界面12。上述第三操作可以是前述应用悬浮操作,例如图3B所示的用户的双指在显示屏上滑动,且滑动过程中双指逐渐靠近。响应于上述应用悬浮操作,电子设备100创建音乐应用对应的扩展显示区1,并将主屏显示区中的音乐应用迁移至扩展显示区1,悬浮窗口用于基于扩展显示区1运行的音乐应用的图像数据显示音乐应用的用户界面。例如,图3C所示的悬浮窗口1基于扩展显示区1显示用户界面12。
示例性的,参见场景1的相关实施例,目标悬浮对象为第一应用程序窗口,第一应用程序窗口可以为前述视频通话内容19对应的应用程序窗口,上述第一应用程序窗口的用户界面可以为图7A所示的视频通话内容19。上述第三操作可以是前述界面悬浮操作,例如图7A所示的作用于视频通话内容19中的控件404的触摸操作。响应于上述界面悬浮操作,电子设备100创建视频通话内容19对应的扩展显示区1,并将主屏显示区中的视频通话内容19迁移至扩展显示区,悬浮窗口用于基于扩展显示区1运行的视频通话内容19的图像数据显示视频通话内容19。例如,图7B所示的悬浮窗口2基于扩展显示区1显示视频通话内容19。
在一种实现方式中,上述第一电子设备基于第一扩展显示区的图像数据将悬浮窗口的显示内容投屏到第二电子设备之后,所述方法还包括:检测到作用于悬浮窗口显示的第一用户界面的第四操作;响应于第四操作,第一电子设备基于第一扩展显示区将悬浮窗口的显示内容切换为第三用户界面。
本申请实施例中,将悬浮窗口的显示内容投屏到第二电子设备之后,可以通过第一电子设备显示的悬浮窗口对投屏内容进行正向控制。
示例性的,参见场景1正向控制的相关实施例,悬浮窗口1内显示图4A所示的用户界面12,用户界面12包括控件301。上述第四操作可以是图4A所示的作用于控件301的触摸操作,响应于上述触摸操作,电子设备100基于扩展显示区1运行的音乐应用显示图4B所示的音乐应用的歌曲播放界面15。
示例性的,参见场景2正向控制的相关实施例,悬浮窗口2内显示图7I所示的视频通话内容19,视频通话内容19包括显示区403A和显示区403C。上述第四操作可以是图7I所示的作用于显示区403C的触摸操作,响应于上述触摸操作,电子设备100基于扩展显示区1运行的视频通话内容19显示图7J所示的视频通话内容19。
在一种实现方式中,上述响应于第四操作,第一电子设备基于第一扩展显示区将悬浮窗口的显示内容切换为第三用户界面,具体包括:获取第四操作的第二原始触摸坐标的第三相对坐标,第三相对坐标是第二原始触摸坐标在悬浮窗口内的相对坐标;基于第三相对坐标,以及悬浮窗口和第一电子设备的全屏显示窗口的窗口比例,确定第三相对坐标对应的第四相对坐标,第四相对坐标为第三相对坐标在第一电子设备的全屏显示窗口内的相对坐标;基于第四相对坐标以及第一扩展显示区最近运行的应用程序窗口的界面布局,确定第四操作用于切换悬浮窗口的显示内容切换为第三用户界面。
参考图11C的相关实施例,上述第四操作可以是图11C描述的触控操作3,第二原始坐标可以为触控操作3的原始触摸坐标,第三相对坐标可以是前述相对坐标2,第四相对坐标可以是前述相对坐标1。
在一种实现方式中,主屏的显示内容为第四用户界面,上述第一电子设备在主屏的显示内容上叠加显示悬浮窗口之后,所述方法还包括:检测到针对主屏的第五操作,响应于第五操作,第一电子设备基于主屏显示区的图像数据将主屏的显示内容投屏到第二电子设备;接收第二电子设备发送的针对投屏显示的第四用界面的第二指令;响应于第二指令,第一电子设备基于主屏显示区最近运行的应用程序窗口将主屏的显示内容切换为第五用户界面。
本申请实施例中,还可以将主屏的显示内容投屏到投屏目标端,并可以通过投屏目标端反向控制第一电子设备的主屏的显示内容。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (13)
1.一种投屏方法,其特征在于,包括:
第一电子设备在主屏的显示内容上叠加显示悬浮窗口,所述悬浮窗口内显示第一用户界面,所述主屏的显示内容是基于主屏显示区的图像数据确定的,所述悬浮窗口的显示内容是基于第一扩展显示区的图像数据确定的;
检测到针对所述悬浮窗口的第一操作,响应于所述第一操作,所述第一电子设备基于第一扩展显示区的图像数据将所述悬浮窗口的显示内容投屏到第二电子设备;
接收所述第二电子设备发送的针对投屏显示的第一用界面的第一指令;
响应于所述第一指令,所述第一电子设备基于所述第一扩展显示区运行的应用程序窗口将所述悬浮窗口的显示内容切换为第二用户界面。
2.根据权利要求1所述的方法,其特征在于,所述第一指令包括作用于所述第二电子设备显示的投屏窗口内所述第一用界面的第二操作的第一坐标;所述第一电子设备基于所述第一扩展显示区运行的应用程序窗口将所述悬浮窗口的显示内容切换为第二用户界面,具体包括:
所述第一电子设备基于所述第一坐标以及所述第一扩展显示区最近运行的应用程序窗口的界面布局,确定所述第二操作用于切换投屏显示内容为所述第二用户界面;
所述电子设备将所述悬浮窗口的显示内容切换为所述第二用户界面,并将所述第二用户界面的图像数据发送到第二电子设备。
3.根据权利要求2所述的方法,其特征在于,所述第一坐标为所述第二操作在所述第二电子设备的显示屏上的第一原始触摸坐标;所述第一电子设备基于所述第一坐标以及所述第一扩展显示区最近运行的应用程序窗口的界面布局,确定所述第二操作用于切换投屏显示内容为所述第二用户界面,具体包括:
基于所述投屏窗口在所述第二电子设备显示屏上的位置,获取所述第一原始触摸坐标的第一相对坐标,所述第一相对坐标是所述第一原始触摸坐标在所述投屏窗口内的相对坐标;
基于所述第一相对坐标,以及所述投屏窗口和所述第一电子设备的全屏显示窗口的窗口比例,确定所述第一相对坐标对应的第二相对坐标,所述第二相对坐标为所述投屏窗口内的所述第一相对坐标在所述第一电子设备的全屏显示窗口内的相对坐标;
基于所述第二相对坐标以及所述第一扩展显示区最近运行的应用程序窗口的界面布局,确定所述第二操作用于切换所述悬浮窗口的显示内容切换为所述第二用户界面。
4.根据权利要求2所述的方法,其特征在于,所述第一坐标为所述第二操作在所述第二电子设备的显示屏上的第一原始触摸坐标的第一相对坐标,所述第一相对坐标为所述第一原始触摸坐标在所述投屏窗口内的相对坐标;所述第一电子设备基于所述第一坐标以及所述第一扩展显示区最近运行的应用程序窗口的界面布局,确定所述第二操作用于切换投屏显示内容为所述第二用户界面,具体包括:
基于所述第一相对坐标,以及所述投屏窗口和所述第一电子设备的全屏显示窗口的窗口比例,确定所述第一相对坐标对应的第二相对坐标,所述第二相对坐标为所述投屏窗口内的所述第一相对坐标在所述第一电子设备的全屏显示窗口内的相对坐标;
基于所述第二相对坐标以及所述第一扩展显示区最近运行的应用程序窗口的界面布局,确定所述第二操作用于切换所述悬浮窗口的显示内容切换为所述第二用户界面。
5.根据权利要求2所述的方法,其特征在于,所述第一坐标为所述第二操作在所述第二电子设备的显示屏上的第一原始触摸坐标对应的第二相对坐标,所述第二相对坐标是基于所述第一原始触摸坐标的第一相对坐标,以及所述投屏窗口和所述第一电子设备的全屏显示窗口的窗口比例确定的;其中,所述第一相对坐标是所述第一原始触摸坐标在所述投屏窗口内的相对坐标,所述第二相对坐标为所述投屏窗口内的所述第一相对坐标在所述第一电子设备的全屏显示窗口内的相对坐标。
6.根据权利要求1所述的方法,其特征在于,所述第一电子设备在主屏的显示内容上叠加显示悬浮窗口之前,所述方法还包括:
所述第一电子设备显示第一应用的第一应用程序窗口的第一用户界面;
检测到针对目标悬浮对象的第三操作,所述目标悬浮对象为所述第一应用或所述第一用于程序窗口;
响应于所述第三操作,所述第一电子设备创建所述第一扩展显示区,并将所述主屏中运行的所述目标悬浮对象迁移至所述第一扩展显示区;
所述第一电子设备在主屏的显示内容上叠加显示悬浮窗口,具体包括:
所述第一电子设备基于所述第一扩展显示区运行的所述目标悬浮对象的图像数据确定所述悬浮窗口的显示内容,基于所述主屏显示区的图像数据确定所述主屏的显示内容,并在所述主屏的显示内容上叠加显示所述悬浮窗口。
7.根据权利要求1所述的方法,其特征在于,所述目标悬浮对象为所述第一应用,所述第一扩展显示区用于运行所述第一应用,所述悬浮窗口用于基于所述第一扩展显示区的图像数据显示所述第一应用的用户界面;
或者,
所述目标悬浮对象为所述第一应用程序窗口,所述第一扩展显示区用于运行所述第一应用程序窗口,所述悬浮窗口用于基于所述第一扩展显示区的图像数据显示所述第一应用程序窗口的用户界面。
8.根据权利要求1所述的方法,其特征在于,所述第一电子设备基于第一扩展显示区的图像数据将所述悬浮窗口的显示内容投屏到第二电子设备之后,所述还包括:
检测到作用于所述悬浮窗口显示的所述第一用户界面的第四操作;
响应于所述第四操作,所述第一电子设备基于所述第一扩展显示区将所述悬浮窗口的显示内容切换为第三用户界面。
9.根据权利要求8所述的方法,其特征在于,所述响应于所述第四操作,所述第一电子设备基于所述第一扩展显示区将所述悬浮窗口的显示内容切换为第三用户界面,具体包括:
获取所述第四操作的第二原始触摸坐标的第三相对坐标,所述第三相对坐标是所述第二原始触摸坐标在所述悬浮窗口内的相对坐标;
基于所述第三相对坐标,以及所述悬浮窗口和所述第一电子设备的全屏显示窗口的窗口比例,确定所述第三相对坐标对应的第四相对坐标,所述第四相对坐标为所述第三相对坐标在所述第一电子设备的全屏显示窗口内的相对坐标;
基于所述第四相对坐标以及所述第一扩展显示区最近运行的应用程序窗口的界面布局,确定所述第四操作用于切换所述悬浮窗口的显示内容切换为第三用户界面。
10.根据权利要求1所述的方法,其特征在于,所述主屏的显示内容为第四用户界面,所述第一电子设备在主屏的显示内容上叠加显示悬浮窗口之后,所述方法还包括:
检测到针对所述主屏的第五操作,响应于所述第五操作,所述第一电子设备基于所述主屏显示区的图像数据将所述主屏的显示内容投屏到所述第二电子设备;
接收所述第二电子设备发送的针对投屏显示的所述第四用界面的第二指令;
响应于所述第二指令,所述第一电子设备基于所述主屏显示区最近运行的应用程序窗口将所述主屏的显示内容切换为第五用户界面。
11.一种电子设备,包括触控屏,存储器,一个或多个处理器,多个应用程序,以及一个或多个程序;其中,所述一个或多个程序被存储在所述存储器中;其特征在于,所述一个或多个处理器在执行所述一个或多个程序时,使得所述电子设备实现如权利要求1至10任一项所述的方法。
12.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至10任一项所述的方法。
13.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至10任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110352845.7A CN115145515A (zh) | 2021-03-31 | 2021-03-31 | 一种投屏方法及相关装置 |
PCT/CN2022/083309 WO2022206659A1 (zh) | 2021-03-31 | 2022-03-28 | 一种投屏方法及相关装置 |
EP22778841.1A EP4300284A1 (en) | 2021-03-31 | 2022-03-28 | Screencast method and related apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110352845.7A CN115145515A (zh) | 2021-03-31 | 2021-03-31 | 一种投屏方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115145515A true CN115145515A (zh) | 2022-10-04 |
Family
ID=83405347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110352845.7A Pending CN115145515A (zh) | 2021-03-31 | 2021-03-31 | 一种投屏方法及相关装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4300284A1 (zh) |
CN (1) | CN115145515A (zh) |
WO (1) | WO2022206659A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107493375B (zh) * | 2017-06-30 | 2020-06-16 | 北京超卓科技有限公司 | 移动终端扩展式投屏方法及投屏系统 |
CN110377250B (zh) * | 2019-06-05 | 2021-07-16 | 华为技术有限公司 | 一种投屏场景下的触控方法及电子设备 |
CN111324327B (zh) * | 2020-02-20 | 2022-03-25 | 华为技术有限公司 | 投屏方法及终端设备 |
CN111634188B (zh) * | 2020-05-29 | 2023-03-24 | 阿波罗智联(北京)科技有限公司 | 用于投屏的方法和装置 |
CN111880757A (zh) * | 2020-06-30 | 2020-11-03 | 北京小米移动软件有限公司 | 投屏方法、投屏装置及存储介质 |
-
2021
- 2021-03-31 CN CN202110352845.7A patent/CN115145515A/zh active Pending
-
2022
- 2022-03-28 WO PCT/CN2022/083309 patent/WO2022206659A1/zh active Application Filing
- 2022-03-28 EP EP22778841.1A patent/EP4300284A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022206659A1 (zh) | 2022-10-06 |
EP4300284A1 (en) | 2024-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3896946B1 (en) | Display method for electronic device having flexible screen and electronic device | |
US11595566B2 (en) | Camera switching method for terminal, and terminal | |
AU2018430381B2 (en) | Flexible screen display method and terminal | |
WO2020108356A1 (zh) | 一种应用显示方法及电子设备 | |
WO2021036770A1 (zh) | 一种分屏处理方法及终端设备 | |
WO2021000881A1 (zh) | 一种分屏方法及电子设备 | |
WO2021213164A1 (zh) | 应用界面交互方法、电子设备和计算机可读存储介质 | |
CN113553130A (zh) | 应用执行绘制操作的方法及电子设备 | |
WO2022095744A1 (zh) | Vr显示控制方法、电子设备及计算机可读存储介质 | |
WO2022078105A1 (zh) | 内存管理方法、电子设备以及计算机可读存储介质 | |
CN114090102B (zh) | 启动应用程序的方法、装置、电子设备和介质 | |
US20240028175A1 (en) | Window display method and related apparatus | |
WO2021042878A1 (zh) | 一种拍摄方法及电子设备 | |
WO2023088459A1 (zh) | 设备协同方法及相关装置 | |
EP4181494A1 (en) | Display method and related apparatus | |
WO2022206659A1 (zh) | 一种投屏方法及相关装置 | |
CN116263971A (zh) | 图像帧的预测方法、电子设备及计算机可读存储介质 | |
CN115686401A (zh) | 一种投屏方法、电子设备及系统 | |
CN113821130A (zh) | 一种确定截图区域的方法及相关装置 | |
US20240184505A1 (en) | Screen casting method and related apparatus | |
WO2023006035A1 (zh) | 一种投屏方法、系统及电子设备 | |
WO2024017332A1 (zh) | 控制部件的方法及相关装置 | |
US20240069845A1 (en) | Focus synchronization method and electronic device | |
WO2024114770A1 (zh) | 一种光标控制方法和电子设备 | |
US20240045557A1 (en) | Method for Sharing Input Device, Electronic Device, and System |
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 |