CN114442970B - 一种应用窗口的投屏方法与电子设备 - Google Patents

一种应用窗口的投屏方法与电子设备 Download PDF

Info

Publication number
CN114442970B
CN114442970B CN202011195469.7A CN202011195469A CN114442970B CN 114442970 B CN114442970 B CN 114442970B CN 202011195469 A CN202011195469 A CN 202011195469A CN 114442970 B CN114442970 B CN 114442970B
Authority
CN
China
Prior art keywords
window
electronic device
application
task stack
display
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.)
Active
Application number
CN202011195469.7A
Other languages
English (en)
Other versions
CN114442970A (zh
Inventor
陈光军
王波
朱培
徐博
江秀萍
王永德
方杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011195469.7A priority Critical patent/CN114442970B/zh
Priority to EP21884852.1A priority patent/EP4224307A4/en
Priority to US18/251,203 priority patent/US20230388406A1/en
Priority to PCT/CN2021/121041 priority patent/WO2022089122A1/zh
Publication of CN114442970A publication Critical patent/CN114442970A/zh
Application granted granted Critical
Publication of CN114442970B publication Critical patent/CN114442970B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

一种应用窗口的投屏方法与电子设备。该方法适用于包括第一电子设备和第二电子设备的系统,所述方法包括:所述第一电子设备与所述第二电子设备建立连接;所述第一电子设备将应用的第一窗口投屏到所述第二电子设备;所述第二电子设备显示所述第一窗口;所述第一电子设备显示所述应用的第二窗口。这种方式中投屏粒度是应用的各个窗口。

Description

一种应用窗口的投屏方法与电子设备
技术领域
本申请涉及投屏技术领域,尤其涉及一种应用窗口的投屏方法与电子设备。
背景技术
投屏技术是一种时下正在兴起的技术,是指电子设备可以将其显示屏上的显示界面投 屏到另一个电子设备上进行显示。比如,手机上的电影可以在电视机上播放,平板电脑上 的图片可以在电视机上展示等等。
以手机向PC投屏为例,一般来讲,手机向PC投屏的过程包括:用户在手机上触发投屏操作,手机与PC建立投屏连接,手机将当前界面发送给PC,那么PC和手机均显示所述 当前界面。比如,如图1所示,手机与PC上均显示手机主界面。然而,两设备显示相同界 面时,实际上用户只需在一个设备上操作即可,那么另一个设备上所述界面的使用率低。
发明内容
本申请的目的在于提供了应用窗口的投屏方法与电子设备,用于提升投屏体验。
第一方面,提供一种应用窗口的投屏方法,适用于包括第一电子设备和第二电子设备 的系统,所述方法包括:所述第一电子设备与所述第二电子设备建立连接;所述第一电子 设备将应用的第一窗口投屏到所述第二电子设备;所述第二电子设备显示所述第一窗口;所述第一电子设备显示所述应用的第二窗口。
也就是说,投屏粒度可以是应用的各个窗口,比如,畅连应用包括多个窗口,第一电 子设备(如,手机)可以将畅连应用的部分或全部窗口投屏到第二电子设备(如,PC)上。以手机向PC投屏为例,以第一窗口是畅连应用的通讯录窗口,第二窗口是与联系人A的聊天窗口为例;用户可以在PC上查看该通讯录窗口,在手机上查看与联系人A的聊天窗口, 不需要在手机上来回切换该应用的不同窗口。
需要说明的是,在本申请实施例中,第一电子设备向第二电子设备投屏第一窗口的同 时,第一电子设备可以显示第二窗口。也就是说,步骤:第一电子设备将应用的第一窗口 投屏到所述第二电子设备;和,步骤;所述第一电子设备显示所述应用的第二窗口,可以同时执行,当然,也可以不同时执行。
在一种可能的设计中,所述第二窗口是所述第一窗口的上一个窗口;或者,所述应用 的默认窗口;或者,所述应用的指定窗口。
也就是说,第一电子设备将第一窗口投屏到第二电子设备时,第一电子设备显示上一 个窗口即第二窗口,或者,显示默认窗口或指定窗口。其中,默认窗口是指电子设备系统 默认设置的窗口;指定窗口是指用户设置的窗口;第一个窗口即打开当前窗口之前的窗口。
在一种可能的设计中,所述第一电子设备将所述应用的第一窗口投屏到所述第二电子 设备上显示,包括:响应于用于打开所述第一窗口的操作,所述第一电子设备将所述第一 窗口投屏到所述第二电子设备上显示。
也就是说,第一电子设备检测到用于打开第一窗口的操作时,自动将第一窗口投屏到 第二电子设备上显示,第一电子设备上可以不显示第一窗口,这种方式,投屏较为快捷、 高效。
在一种可能的设计中,所述用于打开所述第一窗口的操作,包括:用于打开图像的操 作;和/或,用于播放视频文件的操作。
也就是说,第一电子设备检测到打开图像的操作将图像投屏到第二电子设备上显示; 或者,第一电子设备检测到用于播放视频的操作,将视频投屏到第二电子设备上显示。以 手机向PC投屏为例,一般来说,因为手机显示屏小,查看图像或观看视频的效果不佳,通过本申请提供的方式,手机上打开图像或视频时,可以直接投屏到PC上显示,投屏更加便捷、高效。
在一种可能的设计中,所述第一电子设备将所述应用的第一窗口投屏到所述第二电子 设备上显示,包括:响应于用于打开所述第一窗口的操作,所述第一电子设备的显示屏上 显示所述第一窗口;响应于用于投出所述第二窗口的操作,所述第一电子设备将所述第一窗口投屏到所述第二电子设备上显示。
也就是说,在用于打开第一窗口的操作的作用下,第一电子设备上先显示第一窗口, 在用于投出第一窗口的操作下,第一电子设备将第一窗口投屏到第二电子设备,第一电子 设备上关闭第一窗口,显示第二窗口。以手机向PC投屏为例,第一窗口先在手机上显示,如果用户想要投出第一窗口,再将第一窗口投出,有助于避免包括用户隐私的窗口自动投 屏而泄露给被人。
在一种可能的设计中,所述第一电子设备将应用的第一窗口投屏到所述第二电子设备 之前,还包括:所述第一电子设备显示所述第一窗口和所述第二窗口;所述第一电子设备 显示所述应用的第二窗口,包括:所述第一电子设备全屏显示所述第二窗口。
也就是说,当第一电子设备分屏显示第一窗口和第二窗口时,如果第一电子设备将第 一窗口投屏到第二电子设备上,第一电子设备上可以全屏显示第二窗口。这样的话,应用 的多窗口可以分布在不同的设备上显示,避免因第一电子设备的显示屏小而无法较佳的查看应用的多窗口。
在一种可能的设计中,所述第一电子设备将所述应用的第一窗口投屏到所述第二电子 设备上显示,包括:响应于第一操作,显示多个待投屏设备的多个标识;响应于在所述多 个标识中选择所述第二电子设备的标识的操作,所述第一电子设备将所述第一窗口投屏到所述第二电子设备上显示。也就是说,用户可以在多个待投屏设备中选择用户想要投屏的 第二电子设备,然后将第一窗口投屏到第二电子设备上,用户体验较好。
在一种可能的设计中,所述第一电子设备将所述应用的第一窗口投屏到所述第二电子 设备上显示,包括:响应于第二操作,显示所述应用的多个候选窗口;响应于在所述多个 候选窗口中选择所述第一窗口的操作,所述第一电子设备将所述第一窗口投屏到所述第二电子设备上显示。也就是说,用户可以在应用的多个候选窗口中选择用户想要投出的第一 窗口,体验较好。
在一种可能的设计中,所述候选窗口,包括:
所述第一电子设备已经打开的所述应用的所有窗口;或者,
所述应用的预设窗口;或者,
所述应用中用户指定的窗口;或者,
所述应用中打开次数或频率大于预设值的窗口;或者,
所述应用中前台运行时长大于预设时长的窗口。
需要说明的是,上述几种候选窗口仅是举例,不是限定,其它类型的窗口作为候选窗口也是可行的,本申请实施例不作限定。
在一种可能的设计中,所述方法还包括:所述第一电子设备打开所述应用的第三窗口; 所述第一电子设备将所述第三窗口投屏到所述第二电子设备上;所述第二电子设备显示所 述第三窗口;所述第二电子设备上所述第三窗口完全或不完全覆盖所述第一窗口。
也就是说,第一电子设备打开应用的新窗口(即第三窗口)时,还可以将新窗口投屏 到第二电子设备上,即投屏粒度是应用的各个窗口。因此,第二电子设备上显示两个窗口, 即第三窗口和第二窗口,第三窗口可以完全覆盖所述第一窗口(即第一窗口隐藏),或者,第三窗口可以不完全覆盖所述第一窗口,比如覆盖第一窗口的部分,或完全不覆盖第一窗 口(即分屏显示或多窗口同时显示)。
在一种可能的设计中,所述方法还包括:响应于用于将所述第一窗口还原到所述第一 电子设备上显示的第一指令,所述第一电子设显示所述第一窗口,所述第二电子设备关闭 所述第一窗口。也就是说,已投屏到第二电子设备上的第一窗口可以还原到第一电子设备上显示,操作灵活,用户体验较高。
在一种可能的设计中,所述用于将所述第一窗口还原到所述第一电子设备上显示的第 一指令,包括:在所述第二电子设备上检测到的用于关闭所述第二电子设备上的所述第一 窗口的操作指令;或者,在所述第一电子设备上检测到的用于在所述第一电子设备上打开所述第一窗口的操作指令。也就是说,用户可以在第二电子设备上关闭第一窗口时,可以 将第一窗口还原到第一电子设备上显示,或者,用于可以在第一电子设备上打开第一窗口 时,可以将第一窗口还原到第一电子设备上显示。
在一种可能的设计中,所述应用还包括第四窗口,所述方法还包括:所述第二电子设 备上检测到用于打开所述第二窗口的操作;响应于所述用于打开所述第二窗口的操作,所述 第二电子设备向所述第一电子设备发送第二指令;响应于接收到的所述第二指令,所述第一电子设备将所述第二窗口投屏到所述第二电子设备;所述第二电子设备显示所述第二窗 口;所述第二电子设备上所述第二窗口与所述第一窗口完全或不完全覆盖;所述第一电子 设备显示所述第四窗口。也就是说,第一电子设备可以将应用的两个窗口先后投屏到第二 电子设备上,这两个窗口在第二电子设备可以重叠或不重叠显示。
在一种可能的设计中,所述应用还包括第四窗口,所述系统中还包括第三电子设备, 所述方法还包括:所述第一电子设备与所述第三电子设备连接;所述第一电子设备将所述 第二窗口投屏到所述第三电子设备;所述第三电子设备显示所述第二窗口;所述第一电子设备显示所述应用的所述第四窗口。也就是说,第一电子设备可以将应用的第一窗口投屏 到第二电子设备上,将应用的第二窗口投屏到第三电子设备上。这样的话,应用的多个窗 口可以分布在多个电子设备上显示,方便用户查看。
在一种可能的设计中,所述第一电子设备将应用的第一窗口投屏到所述第二电子设备, 包括:所述第一电子设备在第一任务栈中创建所述第一窗口;所述第一任务栈中的窗口被 配置为投屏到所述第二电子设备上进行显示;其中,所述第一任务栈与所述第二窗口所在的第二任务栈不同,所述第二任务栈中的窗口被配置为在所述第一电子设备的显示屏上显 示。
需要说明的是,本申请实施例中,应用的第一窗口和第二窗口分别处于不同的任务栈 中,处于第二任务栈中的窗口在第一电子设备上显示,处于第一任务栈中的窗口投屏到第 二电子设备上显示。也就是说,通过将应用的不同窗口作分栈处理,实现不同窗口在不同设备上显示的效果。
在一种可能的设计中,所述第一电子设备将应用的第一窗口投屏到所述第二电子设备, 包括:响应于用于打开所述第一窗口的操作,所述第一电子设备在第二任务栈中创建所述 第一窗口;所述第二任务栈的窗口被配置为在所述第一电子设备的显示屏上显示;响应于用于投出所述第一窗口的操作,所述第一电子设备在第一任务栈中创建所述第一窗口,关 闭所述第二任务栈中的所述第一窗口;所述第一任务栈中的窗口被配置为投屏到所述第二 电子设备上显示。
需要说明的是,在本申请实施例中,应用的同一个任务栈(如第二任务栈)中可以包 括两个窗口,比如第一窗口和第二窗口,如果第一电子设备想要将第一窗口投屏到第二电 子设备上显示,可以将第一窗口作分栈处理,使得第一窗口处于第一任务栈中,实现将第 一窗口投屏到第二电子设备上。也就是说,原本在同一个任务栈中的不同窗口被拆分到不同任务栈,实现在不同设备上的显示的效果,比如被拆分到第一任务栈的第一窗口被投屏 到第二电子设备上显示,仍然处于第二任务栈中的第二窗口在第一电子设备上显示。
在一种可能的设计中,所述方法还包括:响应于用于将所述第一窗口还原到所述第一 电子设备上显示的操作,所述第一电子设备根据所述第一任务栈的原栈标记确定所述第一 窗口的原任务栈是第二任务栈;所述第一电子设备在所述第二任务栈中创建所述第一窗口;所述第一电子设备关闭所述第一任务栈中的所述第一窗口。也就是说,如果第一电子设备 要将已投出的第一窗口还原到第一电子设备上显示,可以将第一任务栈中第一窗口还原到 原来所在的第二任务栈中,以使第一窗口在第一电子设备上显示。
在一种可能的设计中,所述第一电子设备将应用的第一窗口投屏到所述第二电子设备, 包括:响应于预设操作,所述第一电子设备显示所述应用的多个任务栈;响应于用于在所 述多个任务栈中选择第三任务栈的操作,所述第一电子设备将所述第三任务栈中的所有窗口投屏到所述第二电子设备上。也就是说,第一电子设备可以将一个任务栈中的所有窗口 投屏到第二电子设备上,即以应用的任务栈为投屏粒度。
第二方面,提供一种应用窗口的投屏方法,适用于第一电子设备,所述第一电子设备 中包括应用,所述应用包括第一窗口和第二窗口;所述方法包括:
所述第一电子设备与第二电子设备连接;
所述第一电子设备将所述第一窗口投屏到所述第二电子设备上显示;
所述第一电子设备显示所述第二窗口。
在一种可能的设计中,所述第二窗口是所述第一窗口的上一个窗口;或者,所述应用 的默认窗口;或者,所述应用的指定窗口。
在一种可能的设计中,所述第一电子设备将所述应用的第一窗口投屏到所述第二电子 设备上显示,包括:响应于用于打开所述第一窗口的操作,所述第一电子设备将所述第一 窗口投屏到所述第二电子设备上显示。
在一种可能的设计中,所述用于打开所述第一窗口的操作,包括:用于打开图像的操 作;和/或,用于播放视频文件的操作。
在一种可能的设计中,所述第一电子设备将所述应用的第一窗口投屏到所述第二电子 设备上显示,包括:响应于用于打开所述第一窗口的操作,所述第一电子设备显示所述第 一窗口;响应于用于投出所述第二窗口的操作,所述第一电子设备将所述第一窗口投屏到所述第二电子设备上显示。
在一种可能的设计中,所述第一电子设备将所述第一窗口投屏到所述第二电子设备之 前,还包括:所述第一电子设备显示所述第一窗口和所述第二窗口;所述第一电子设备显 示所述第二窗口,包括:所述第一电子设备全屏显示所述第二窗口。
在一种可能的设计中,所述第一电子设备将所述应用的第一窗口投屏到所述第二电子 设备上显示,包括:响应于第一操作,显示多个待投屏设备的多个标识;响应于在所述多 个标识中选择所述第二电子设备的标识的操作,所述第一电子设备将所述第一窗口投屏到所述第二电子设备上显示。
在一种可能的设计中,所述第一电子设备将所述应用的第一窗口投屏到所述第二电子 设备上显示,包括:响应于第二操作,显示所述应用的多个候选窗口;响应于在所述多个 候选窗口中选择所述第一窗口的操作,所述第一电子设备将所述第一窗口投屏到所述第二电子设备上显示。
在一种可能的设计中,所述候选窗口,包括:
所述第一电子设备已经打开的所述应用的所有窗口;或者,
所述应用的预设窗口;或者,
所述应用中用户指定的窗口;或者,
所述应用中打开次数或频率大于预设值的窗口;或者,
所述应用中前台运行时长大于预设时长的窗口。
在一种可能的设计中,响应于用于将所述第一窗口还原到所述第一电子设备上显示的 第一指令,所述第一电子设备显示所述第一窗口,并控制所述第二电子设备关闭所述第一 窗口。
在一种可能的设计中,所述第一指令,包括:从所述第二电子设备接收的第一指令, 所述第一指令为在所述第二电子设备上检测到的用于关闭所述第二电子设备上的所述第一 窗口的操作指令;或者,在所述第一电子设备上检测到的用于在所述第一电子设备上打开所述第一窗口的操作指令。
在一种可能的设计中,所述应用还包括第四窗口,所述系统中还包括第三电子设备, 所述方法还包括:所述第一电子设备与所述第三电子设备连接;所述第一电子设备将所述 第二窗口投屏到所述第三电子设备;所述第一电子设备显示所述第四窗口。
在一种可能的设计中,所述第一电子设备将第一窗口投屏到第二电子设备上显示,包 括:在第一任务栈中创建应用的第一窗口;所述第一任务栈中的窗口被配置为投屏到所述 第二电子设备的显示屏上显示;其中,所述第一任务栈与所述第二窗口所在的第二任务栈不同,所述第二任务栈中的窗口被配置为在所述第一电子设备的显示屏上显示。
在一种可能的设计中,所述第一电子设备将第一窗口投屏到第二电子设备上显示,包 括:响应于用于打开所述第一窗口的操作,所述第一电子设备在第二任务栈中创建所述第 一窗口;所述第二任务栈中的窗口被配置为在所述第一电子设备的显示屏上显示;响应于用于投出所述第一窗口的操作,所述第一电子设备在第一任务栈中创建所述第一窗口,关 闭所述第二任务栈中的所述第一窗口;所述第一任务栈中的窗口被配置为投屏到所述第二 电子设备的显示屏上显示。
在一种可能的设计中,所述方法还包括:响应于用于将所述第一窗口还原到所述第一 电子设备上显示的操作,所述第一电子设备根据所述第一任务栈的原栈标记确定所述第一 窗口的原任务栈是第二任务栈;所述第一电子设备在所述第二任务栈中创建所述第一窗口;所述第一电子设备关闭所述第一任务栈中的所述第一窗口。
在一种可能的设计中,所述第一电子设备将应用的第一窗口投屏到所述第二电子设备, 包括:响应于预设操作,所述第一电子设备显示所述应用的多个任务栈;响应于用于在所 述多个任务栈中选择第三任务栈的操作,所述第一电子设备将所述第三任务栈中的所有窗口投屏到所述第二电子设备上。
第三方面,还提供一种应用窗口的投屏方法,适用于第二电子设备,所述方法包括:
所述第二电子设备与第一电子设备连接;
所述第二电子设备接收所述第一电子设备发送的第一显示信息,根据所述第一显示信 息显示第一窗口;
所述第二电子设备接收所述第一电子设备发送的第二显示信息,根据所述第二显示信 息显示第二窗口,所述第二窗口为当所述第二电子设备显示所述第一窗口时,在所述第一 电子设备上显示的窗口,所述第二窗口和所述第一窗口来自所述第一电子设备上的同一应用;
其中,所述第二窗口完全或不完全覆盖所述第一窗口。
在一种可能的设计中,所述方法还包括:所述第二电子设备接收到用于将所述第一窗 口还原到所述第一电子设备的第一指令,关闭所述第一窗口;向所述第一电子设备发送的 第二指令,所述第二指令用于指示所述第一电子设备显示所述第一窗口。
在一种可能的设计中,用于将所述第一窗口还原到所述第一电子设备的第一指令,包 括:在所述第二电子设备上检测到的用于关闭所述第二电子设备上的所述第一窗口的操作 指令;或者,从所述第一电子设备接收到第一指令,所述第一指令用于指示所述第一电子设备上打开所述第一窗口。
第四方面,提供一种电子设备,包括:显示屏,一个或多个处理器,存储器,以及,一个或多个程序;其中,所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如上述第一方面至第三方面中任一方面提供的方法。
第五方面,本申请实施例还提供了一种电子设备,所述电子设备包括执行上述第一方 面至第三方面任意一方面提供的方法的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
第六方面,本申请实施例还提供一种芯片,所述芯片与电子设备中的存储器耦合,用 于调用存储器中存储的计算机程序并执行本申请实施例第一方面至第三方面任一方面提供 的技术方案;本申请实施例中“耦合”是指两个部件彼此直接或间接地结合。
第七方面,还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程 序,当计算机程序在电子设备上运行时,使得所述电子设备执行如上述第一方面至第三方 面任一方面提供的技术方案。
第八方面,还提供一种程序产品,包括指令,当所述指令在计算机上运行时,使得所 述计算机执行如上述第一方面至第三方面任一方面提供的技术方案。
第九方面,还提供一种系统,包括第一电子设备和第二电子设备,其中,第一电子设 备用于执行如上述第二方面提供的方法步骤,第二电子设备执行如上述第三方面提供的方 法步骤。
第十方面,还提供一种电子设备上的图形用户界面,所述电子设备具有显示屏、一个 或多个存储器、以及一个或多个处理器,所述一个或多个处理器用于执行存储在所述一个 或多个存储器中的一个或多个计算机程序,所述图形用户界面包括所述电子设备执行上述第一方面至第三方面任一方面提供的技术方案时显示的图形用户界面。
上述第二方面至第十方面的有益效果,请参见第一方面的有益效果,不重复赘述。
附图说明
图1为本申请一实施例提供的手机向PC投屏的示意图;
图2A为本申请一实施例提供的同源投屏的示意图;
图2B为本申请一实施例提供的异源投屏的示意图;
图3为本申请一实施例提供的一种应用场景的示意图;
图4A为本申请一实施例提供的主设备或目标设备的硬件结构的示意图;
图4B为本申请一实施例提供的主设备或目标设备的软件结构的示意图;
图5为本申请一实施例提供的第一种示例性的场景的示意图;
图6为本申请一实施例提供的一种应用窗口的投屏方法的流程示意图;
图7A至图7D为本申请一实施例提供的第一种示例性场景的实现原理的示意图;
图8A为本申请一实施例提供的第二种示例性场景的示意图;
图8B至图8E为本申请一实施例提供的第二种示例性场景的示意图;
图9A至图9B为本申请一实施例提供的第三种示例性的场景的实现原理的示意图;
图9C为本申请一实施例提供的第三种示例性的场景的示意图;
图10A为本申请一实施例提供的第四种示例性的场景的示意图;
图10B至图10G为本申请一实施例提供的第四种示例性的场景的实现原理的示意图;
图11A至图11B为本申请一实施例提供的在目标设备上打开新窗口的实现原理的示意 图;
图12为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
下面先对本申请实施例中的部分用语做出解释说明。
(1)应用程序(application,简称app),简称应用,为能够实现某项或多项特定功能 的软件程序。通常,电子设备中可以安装多个应用,例如,即时通讯类应用、视频类应用、音频类应用、图像拍摄类应用等等。其中,即时通信类应用,例如可以包括短信应用、畅连、微信(WeChat)、WhatsApp Messenger、连我(Line)、照片分享(Instagram)、Kakao Talk、 钉钉等。图像拍摄类应用,例如可以包括相机应用(系统相机或第三方相机应用)。视频类 应用,例如可以包括Youtube、Twitter、抖音、爱奇艺,腾讯视频等等。音频类应用,例如 可以包括Google Music、酷狗音乐、虾米、QQ音乐等等。以下实施例中提到的应用,可以 是电子设备出厂时已安装的应用,也可以是用户在使用电子设备的过程中从网络下载或其 他电子设备获取的应用。
(2)应用的窗口(Window),是指应用的显示区域,每个应用窗口都对应一个活动(Activity)对象,所有的窗口都是由视图(View)来呈现。一个应用可以对应多个窗口,不同窗口可以显示该应用的不同内容。
(3)任务(task)和栈(stack),其中,任务是多个activity的集合,也可以理解为用于放置activity的容器。栈是多个任务的集合。一般来讲,栈和任务是一对一,当然,本申请对此不作限定,可以是一对多的关系。为了方便描述,本文是以栈和任务是一对一为例介绍,即一个栈中包括一个任务,不同栈中的任务不同。这种情况下,任务和/或栈可以简称为任务栈。
任务栈以“先进后出”的形式放置activity。所谓“先进后出”可以理解为:创建一个任务 栈,并在该任务栈中放置第一activity,第一activity位于最上层,前台显示第一activity; 之后若在该任务栈中创建第二activity,由于在第二activity之前第一activity已入栈,所以 第二activity后入栈,第二activity会压入第一Activity,即第二activity位于第一Activity上 层,如果第一activity和第二Activity的显示位置相同,那么前台显示第二activity覆盖了第 一activity。当第二activity移出第一任务栈(简称出栈)后,由于第一Activity位于该任务栈的最上层,所以前台显示第一activity,不显示第二acitvity。
(4)本申请实施例涉及的至少一个,包括一个或者多个;其中,多个是指大于或者等 于两个。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为明示或暗示相对重要性,也不能理解为明示或暗示顺序。
本申请提供的应用窗口的投屏方法适用于投屏场景。一般来说,投屏场景中包括发送 端和接收端。发送端将显示信息发送给接收端来显示。为了方便描述,本文将发送端称为 主设备(或源设备),将接收端称为目标设备。其中,主设备可以是手机、平板电脑、PC、手机、手表等。目标设备可以是手机、平板电脑、PC、电视机等大屏设备。可以理解的是, 除了主设备和目标设备之外,发送端和接收端还可以有其它称呼,比如,发送端是主动投 屏设备,接收端是被动投屏设备;或者,发送端是第一电子设备,接收端是第二电子设备等等,本申请对此不作限定。其中,发送端和接收端的角色可以互换,即,发送端可以向 接收端投屏,对应的,所述接收端也可以向所述发送端投屏。
目前,常用的投屏技术包括同源投屏和异源投屏。
请参见图2A所示,为同源投屏的过程的示意图。主设备将前台的显示信息(比如窗口 A)投屏到目标设备,目标设备显示所述显示信息(如,窗口A)。当主设备前台显示信息发生变化,比如从窗口A切换为窗口B,对应的,目标设备上的所述显示信息也变化,即 从窗口A切换为窗口B。也就是说,同源投屏场景下,主设备向目标设备投屏时,目标设 备上的显示信息与主设备前台的显示信息是同步的。
异源投屏与同源投屏不同。简单来说,异源投屏场景中,主设备向目标设备投屏时, 目标设备上的主设备投屏来的显示信息与主设备前台的显示信息可以不同步。
具体地,请参见图2B所示,为异源投屏过程的示意图。主设备上显示应用B的窗口,主设备向目标设备投屏应用B的窗口时,在创建的虚拟显示区域(虚拟显示区域用户不可见)中显示应用B的窗口。虚拟显示区域的显示信息默认投屏到目标设备上显示。除了虚 拟显示区域,主设备上还包括用户可见显示区域,主设备将应用B的窗口投屏到目标设备 时,用户可见显示区域显示应用A的窗口,即主设备前台显示应用A的窗口。假设主设备 上用户可见区域从应用A的窗口切换为应用C的窗口,即主设备前台显示应用C的窗口, 此时,目标设备上仍然显示应用B的窗口。
继续以图2B为例,目前的异源投屏技术中,主设备上应用B打开的所有窗口默认都在 虚拟显示区域中显示,即,应用B打开的所有窗口都会投屏到目标设备上显示。换句话说, 主设备将应用B整体投屏到目标设备,简单来说,投屏粒度是应用。
本申请提供的应用窗口投屏方法中,可以以更细的粒度来投屏,比如,以应用的一个 个窗口为投屏粒度。比如,以主设备是手机为例,手机上一个应用可以包括多个窗口,手机可以将所述多个窗口中的全部窗口或部分窗口投屏到PC上。
下面介绍本申请实施例提供的投屏场景。
如图3所示,为本申请提供的投屏场景的一种示例性的示意图。该投屏场景中包括手 机、PC和电视机。
以手机向PC投屏为例。比如,参见图3(a),用户在手机上打开了电话应用,手机的显示屏上显示电话应用的“拨号键盘”窗口。应理解,为了方便理解,图3中大圆圈中的界面是手机上显示屏界面的放大图。除了“拨号键盘”窗口之外,电话应用还包括其它窗口,比如, “通讯录”窗口、“最近通话”窗口、“畅连”窗口等。用户可以选择将电话应用的“通讯录”窗口 投屏到PC上,当然,还可以将“最近通话”窗口也投屏到PC上,参见图3(b)所示,可选的,PC可以将手机投屏来的两个窗口分开显示。也就是说,手机可以将一个应用(如,电 话应用)的不同窗口投屏到PC上,对应的PC上显示该应用的不同窗口。
上面例子中,是以手机向PC投屏为例进行介绍,简单来说,是一个主设备向一个目标 设备投屏。本申请还适用于一个主设备向多个目标设备投屏的场景。比如,手机既向PC投 屏,又向电视机投屏。比如,继续参见图3(a)和图3(b),手机已将电话应用的“通讯录”窗口和“最近通话”窗口投屏到PC上,手机还可以将电话应用的“畅连”窗口投屏到电视机上, 参见图3(c)所示。也就是说,手机可以将一个应用的不同窗口分别投屏到不同的目标设备上。这样的话,用户可以通过多个设备查看同一应用的不同窗口,视觉效果更佳。
需要说明的是,图3是以手机上电话应用为例进行介绍的,对于手机上的其它应用投 屏原理相同,不再一一举例。
以下介绍电子设备,图4A示出了电子设备100的结构示意图。电子设备100可以是主 设备也可以是目标设备。如图2A所示,电子设备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,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU), 图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号 处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或 多个处理器中。其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根 据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110 中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处 理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减 少了处理器110的等待时间,因而提高了系统的效率。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB 接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可 以用于电子设备100与外围设备之间传输数据。充电管理模块140用于从充电器接收充电 输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模 块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部 存储器,显示屏194,摄像头193,和无线通信模块160等供电。
电子设备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的至少部分模块被设置在同一个 器件中。
无线通信模块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)。
显示屏194用于显示应用的显示界面,例如相机应用的取景界面等。显示屏194包括 显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管 (organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体 (active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting 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可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。 处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应 用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,以及至少一个应用程序(例如爱奇艺应用,微信应用等)的软件代码等。存 储数据区可存储电子设备100使用过程中所产生的数据(例如拍摄的图像、录制的视频等) 等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备 的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。 例如将图片,视频等文件保存在外部存储卡中。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳 机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹 传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M 等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中, 压力传感器180A可以设置于显示屏194。陀螺仪传感器180B可以用于确定电子设备100 的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴 (即,x,y和z轴)的角速度。
陀螺仪传感器180B可以用于拍摄防抖。气压传感器180C用于测量气压。在一些实施 例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D 检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解 锁等特性。加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备100姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一 些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100 使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电 子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100 附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近 耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口 袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自 适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传 感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。 指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访 问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J 检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设 备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在 另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100 对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸 传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获 取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动 信号。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触 摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的 振动反馈效果。触摸振动反馈效果还可以支持自定义。指示器192可以是指示灯,可以用 于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现 与电子设备100的接触和分离。
可以理解的是,图4A所示的部件并不构成对电子设备100的具体限定,电子设备还可 以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部 件布置。此外,图4A中的部件之间的组合/连接关系也是可以调整修改的。
图4B是本申请实施例提供的一种投屏系统的软件架构图。
图4B的左半部分,是主设备的软件架构图,主设备是主动投屏的设备,比如可以是一 个手机。主设备的软件架构可以包括应用层、框架层和驱动层;需要说明的是,还可以包括更多或更少的层,本申请实施例不作限定。
应用层包括应用模块和投屏管理模块。其中,应用模块包括各种类型的应用,比如视 频播放应用、图像拍摄应用等等。投屏管理模块用于管理投屏,比如,投屏管理模块中包括设备连接模块,该设备连接模块可以向框架层中的跨设备管理模块发送用于控制主设备与目标设备连接的指令。
框架层包括基础框架模块、跨设备管理模块、数据管理模块。
其中,基础框架模块包括事件管理模块、窗口显示模块、生命周期模块、任务栈管理 模块。事件管理模块,负责感应事件,比如,接收驱动层上报的输入事件,如用于投出应用的某个窗口的输入事件。
窗口显示模块,负责管理应用的窗口的显示方式,包括窗口显示的坐标大小、窗口显 示层级等。
生命周期模块,用于管理窗口的生命周期。比如,生命周期模块可以通过回调(onResume) 接口激活窗口,激活后的窗口在前台显示;或者,生命周期模块通过暂停(onPause)接口 暂停窗口以使窗口从前台切换到后台显示。以任务栈中的最上层的窗口(top Activity)为例, top Activity调用onResume以激活,那么top Activity在前台显示,当新的窗口入栈所述任 务栈中,且新的窗口位于原top Activity上层时,原topActivity调用onPause暂停窗口以使 原top Activity从前台切换到后台显示,对于新的窗口可以使用类似的原理管理生命周期。
任务栈管理模块,用于创建、关闭任务栈等。
跨设备管理模块,负责控制驱动层实现主设备和目标设备之间的靠近发现、鉴权、连 接等功能。
数据管理模块,负责主设备和目标设备之间传输的音频、视频以及图层等数据码流, 还可以负责反向事件(即通过目标设备触发的对主设备进行控制的事件)控制等功能。
驱动层包括底层驱动,负责发现、认证、连接等工作,比如,驱动层接收框架层中跨设备管理模块下发的命令,执行连接、断开等动作。具体而言,驱动层包括设备发现模块、设备认证模块、设备连接模块。设备发现模块负责设备发现,设备认证模块负责设备鉴权,设备连接模块负责设备连接。当然,驱动层还可以硬件驱动比如显示屏驱动。
图4B的右半部分,是目标设备的软件架构图,目标设备是被投屏的设备,比如可以是 PC或者电视机。目标设备的软件架构可包括应用层、框架层和驱动层。各层的功能模块以 及功能模块的作用可以参照上述主设备。也就是说,目标设备和主设备的角色可以互换, 目标设备也可以向主设备投屏。
下面结合图4A和图4B,介绍本申请实施例提供的应用窗口投屏方法的实现过程。
主设备的显示屏显示应用的第一窗口,当主设备的驱动层接收到硬件中断(如,用户 在触摸屏上打开应用的第二窗口的操作)时,将所述硬件中断对应的输入事件上报应用层 中的所述应用。该应用基于输入事件确定打开应用的第二窗口时,通过显示屏显示所述应 用的第二窗口。
当主设备的驱动层接收到硬件中断(如,用户在触摸屏上点击投屏图标的操作)时, 驱动层将硬件中断对应的输入事件上报所述应用,所述应用通过应用层中的投屏管理模块 触发跨设备管理模块,以通过跨设备管理模块向驱动层发送指令,以控制驱动层实现主设 备与目标设备的鉴权、连接等。
当主设备的驱动层确定主设备与目标设备连接成功之后,向框架层中基础框架模块中事件管理模块发送指令,该指令用于指示将应用的第二窗口投屏。事件管理模块向任务栈 管理模块发送指令,以通过任务栈管理模块实现第二窗口与第一窗口的分栈处理(具体内 容在后文介绍)。分栈后的第二窗口通过数据管理模块发送给目标设备进行显示。任务栈管 理模块完成第二窗口和第一窗口的分栈处理之后,第一窗口位于最高层,可以通过生命周 期模块激活第一窗口,并通过窗口显示模块显示第一窗口,即第一窗口从后台切换到前台显示。
下面以主设备是手机,目标设备是PC或电视机为例,结合附图对本申请实施例提供 的应用窗口的投屏方法进行具体阐述。
本申请实施例提供的应用窗口的投屏方法中,投屏粒度可以是应用的各个窗口。比如, 手机上一个应用包括多个窗口,手机可以将所述多个窗口中的至少一个窗口投屏到PC上, 并且在手机上显示所述多个窗口中的其他窗口。具体而言,本申请提供的应用窗口的投屏方法包括如下的实施例一至实施例四。
实施例一
本实施例一提供一种应用窗口投屏方法,具体地,手机前台显示应用的窗口A,响应 于用户操作,手机前台从应用的窗口A切换为该应用的窗口B。此时,如果用户想要将窗口B投屏到PC上,用户可以触发投屏操作以使手机与PC建立投屏连接。手机将窗口B投 屏到PC上。由于窗口B被投出,手机前台可以不显示窗口B,显示该应用的其它窗口,比 如窗口A,即手机投出窗口B时,手机前台从窗口B切换为窗口A。
以手机上的浏览器应用为例,图5给出本实施例一的一种示例性场景。
如图5(a)所示,用户打开手机上的浏览器应用,手机显示浏览器应用的主页窗口,其中包括新闻A的简介和新闻B的简介。当手机接收到用于打开新闻A的操作(如,点击 主页窗口中新闻A的简介的操作)时,显示如图5(b)所示的窗口,该窗口中显示新闻A (为了方便描述,该窗口称为新闻A的窗口)。此时,如果用户想要将新闻A投屏到PC,用户可以触发投屏操作以使手机与PC建立投屏连接。手机将新闻A的窗口投屏到PC,那 么PC上显示新闻A的窗口,如图5(c)。在投出新闻A的窗口后,手机前台可以不显示新 闻A的窗口,显示浏览器应用的其他窗口,比如,在打开新闻A的窗口之前上一个打开的 窗口,比如,如图5(d)所示的浏览器应用的主页窗口。
下文以图6所示的流程图为例,介绍实施例一提供的应用窗口的投屏方法的实现原理。
如图6所示,本实施例一的流程可以包括S1至S15。其中,S1至S3介绍手机打开应用的第一窗口的过程。如果以图5的场景为例,所述应用可以是浏览器应用,第一窗口可 以是浏览器应用的主页窗口。S4至S6介绍手机打开应用的第二窗口的过程,如果以图5 的场景为例,第二窗口可以是新闻A的窗口。S7至S15介绍手机将应用的第二窗口(比如新闻A的窗口)投屏到PC的过程。
S1,手机接收到用于打开应用的第一窗口的第一操作。
示例性的,请参见图7A(a),手机显示主界面,第一操作可以是点击主界面上应用的 图标的操作,如果所述应用是浏览器应用,则第一操作是点击主界面中浏览器应用的图标 的操作。当然,第一操作还可以是其它类型的操作,比如,用于指示打开应用的第一窗口的语音指令等,本申请实施例不作限定。
S2,手机创建第一任务栈,在第一任务栈中创建第一窗口。
请参见图7B,在第一操作的作用下,手机创建第一任务栈,在第一任务栈中创建第一 窗口。第一任务栈中的窗口显示在默认显示屏上,所述默认显示屏是指用户可见的显示区 域。由于第一窗口是第一任务栈中最上层的窗口,所以手机显示屏上显示第一窗口,即S3。
S3,手机在显示屏上显示应用的第一窗口。
比如,参见图7A(b),手机响应于第一操作,显示应用的第一窗口。
S4,手机接收到用于打开应用的第二窗口的第二操作。
以图7A(b)为例,第二操作例如可以作用于第一窗口内的用于打开应用的第二窗口 的操作。比如,第一窗口是图5(a)所示的浏览器应用的主页窗口时,第二操作例如可以是针对新闻A的简介的点击操作。
S5,手机在第一任务栈中创建第二窗口。
继续参见图7B所示,在第二操作的作用下,手机在第一任务栈中创建第二窗口,因为 第一窗口先入栈,第二窗口后入栈,所以第二窗口位于第一窗口的上层。一般来讲,位于上层的第二窗口和位于下层的第一窗口的显示位置相同,所以第二窗口会完全覆盖第一窗口,所以手机前台从第一窗口切换为第二窗口,即S6。
S6,手机前台从第一窗口切换为第二窗口。
参见图7A(c)所示,响应于第二操作,手机上显示第二窗口,不再显示第一窗口。如果以图5为例,结合图5(b)和图5(a),新闻A的窗口(即第二窗口)完全覆盖了浏览 器应用的主页窗口(即第一窗口)。
此时,如果要将第二窗口投屏到目标设备上,手机可以继续执行如下S7至S15。
S7,手机接收到用于投出第二窗口的第三操作。
其中,第三操作可以是在显示屏下边缘的上滑操作,或者,在显示屏左边缘的右滑操 作,或者,在显示屏右边缘的左滑操作,或者,在显示屏上边缘的下滑操作等等。
或者,第三操作包括从显示屏下边缘的上滑操作以及在上滑菜单(响应于上滑操作显 示的上滑菜单)中点击投屏图标的操作;或者,第三操作包括从手机屏幕顶部状态栏的下 滑操作,以及点击通知面板(响应于下滑操作显示的通知面板)的“无线投屏”图标的操作。
或者,第三操作还可以用于打开多设备控制中心的操作,比如从手机左下边缘或右下 边缘竖直向上滑动的操作,以打开多设备控制中心,在多设备控制中心内显示支持投屏的 至少一个设备的图标,用户可以从中选择目标设备。
以上是对第三操作的举例,并不是对第三操作的限定。第三操作还可以是其它类型的 操作,比如,用于投出第二窗口的语音指令等等,本申请实施例不一一列举。
如果手机当前未与目标设备建立投屏连接,那么手机可以先与目标设备连接,然后将 第二窗口投屏到目标设备。手机与目标设备连接的过程包括如下S8-S10。
S8,手机显示设备列表。
继续以图7A(c)为例,手机上显示第二窗口时,假设手机检测到第三操作,可以显示 设备列表,如图7C(a)所示。其中,设备列表中可以包括设备标识,所述设备标识可以是设备的图标,如电视机图标、PC图标等,还可以包括设备型号等,以方便用户区分。如果 第三操作是用于打开多设备控制中心的操作,那么此处的设备列表即多设备控制中心。
S9,手机选择目标设备。
比如,手机接收到针对设备列表中某个设备的图标的点击操作,响应于该点击操作, 确定被点击的图标对应的设备为目标设备。
S10,手机与目标设备建立投屏连接。
在上面的例子中,手机检测到第三操作时打开设备列表,在设备列表中选择目标设备 并与目标设备连接。可选的,除了上述方式之外,还有其它方式可以建立与目标设备的连 接。比如,还可以扫码连接,如,在手机上打开多屏协同界面,在多屏协同界面点击扫码连接,扫描PC上的二维码完成连接。再比如,还可以通过“碰一碰”连接,如,手机上打开NFC功能,将手机上的NFC区域触碰PC键盘上的NFC区域,建立手机与PC的近场通信 连接。再比如,还可以靠近连接,如,打开PC上的靠近连接功能;在手机打开蓝牙功能后, 当手机靠近PC时,PC发现手机,并显示确认是否连接手机的提示信息,当PC接收到确认 指令时,完成与手机的连接。
手机可以对应用的第一窗口和第二窗口作分栈处理,经过分栈处理后的第二窗口投屏 到目标设备上。具体而言,可以通过如下步骤S11至S15实现。
S11,手机创建虚拟显示屏。
其中,虚拟显示屏是相对于手机真实显示屏(用户可见)而言的,虚拟显示屏用户不 可见。虚拟显示屏可以包括各种显示参数,比如,分辨率、显示屏尺寸等等。所述虚拟显示屏的显示参数可以与手机真实显示屏的显示参数一致。或者,当主设备和目标设备建立见投屏连接之后,创建的虚拟显示屏的目的是使虚拟显示屏中的窗口在目标设备的显示屏上显示,所以虚拟显示屏的显示参数可以与目标设备的显示屏的显示参数一致,比如,虚拟显示屏的大小与目标设备的显示屏大小一致,这样的话,虚拟显示屏上的显示内容比较适配目标设备的显示屏。
S12,手机创建第二任务栈,第二任务栈在虚拟显示屏上显示,并将第一任务栈中的第 二窗口移动到第二任务栈中。
其中,S11和S12的执行顺序不限定,比如,可以先执行S11后执行S12,即与目标设备建立连接后创建虚拟显示屏,或者,也可以先执行S12后执行S11。
其中,第二窗口从原来的第一任务栈移出到第二任务栈具体包括:创建第二任务栈, 在第二任务栈中创建第二窗口,然后关闭第一任务栈中的第二窗口。请继续参见图7B所示, 在第三操作的作用下,第二窗口从原来的第一任务栈移出到第二任务栈中。由于第一任务栈中第二窗口移出,第一窗口位于最上层,所以手机前台从第二窗口切换为第一窗口,即 S13。
S13,手机前台从第二窗口切换到第一窗口。
S14,手机将第二任务栈中的第二窗口的显示信息发送给目标设备。
S15,目标设备上显示应用的第二窗口。
需要说明的是,S13至S15的执行顺序不作限定,比如,S13和S14可以同时执行。
比如,参见图7C(a),假设手机确定目标设备是PC,手机建立与PC的连接,将第二窗口的显示信息发送给PC,PC上显示第二窗口,如图7C(b),而且手机前台从第二窗口 切换为第一窗口,如图7C(c)。
需要说明的是,上面的实施例以手机打开第二窗口时,第二窗口完全覆盖第一窗口为 例进行介绍。可以理解的是,第二窗口的显示位置与第一窗口的显示位置可以不同,例如 第二窗口和第一窗口分屏显示,如图7D(a)所示。这种情况下,用户可以选择将第一窗口或第二窗口投屏到PC。以投出第二窗口为例,手机检测到用于投出第二窗口的第三操作后, 执行S8至S15,完成第二窗口的投屏过程。
需要说明的是,在分屏显示的情况下,为了方便手机区分用户想要投出哪一个窗口, 当手机检测到在第一窗口被选中时,确定用户要投出第一窗口,当检测到在第二窗口被选 择时,确定用户要投出第二窗口。其中,用于选择窗口的操作可以是双击窗口,或,连续三次点击窗口,或长按窗口等等。比如,继续参见图7D(a)所示,手机检测到针对第二窗口的长按操作时,显示设备列表,如图7D(b)。当手机检测到用户选择PC时,手机与PC 建立连接,将第二窗口投屏到PC上,如图7D(c),此时手机前台全屏显示第一窗口,如 图7D(d)。
在上面的实施例中,第二窗口投出时,手机前台从第二窗口切换为第一窗口,第一窗 口是在打开第二窗口之前打开的上一个窗口。可以理解的是,第二窗口投出时,手机前台 还可以显示应用的其它窗口,比如,默认窗口,该默认窗口例如可以是应用的首页窗口,或者,是用户指定的窗口。
总结来说,实施例一中,当手机显示应用的某个窗口时,在用户投屏操作的作用下, 手机在完成与PC的投屏连接时,将手机前台显示的窗口投屏到PC,手机前台显示该应用的其它窗口,即投屏粒度为应用的窗口。
实施例二
本实施例二提供一种应用窗口的投屏方法,具体地,手机已与目标设备建立投屏连接 的情况下,当手机检测到用于打开应用的窗口C的操作时,在手机上显示该窗口C,当检测到用于投出该窗口C的操作时,将该窗口C投屏到目标设备上。为了方便描述,本实施例二以手机当前只与一个目标设备(如,PC)建立投屏连接为例进行介绍。
下面介绍实施例二的一种示例性的场景。
假设手机与PC建立投屏连接,并已将手机前台显示的应用(如畅连应用)的第二窗口 投屏到PC上,手机上显示应用(如畅连应用)的第一窗口。以第一窗口是畅连应用中与联系人A的聊天窗口为例,请参见图8A(a),第一窗口中包括联系人A发送的图像801,此 时,若手机检测到用户点击图像801的操作,手机上显示第三窗口,如图8A(b),即图像 801放大显示。当手机检测到投出第三窗口的操作时,将图像801投屏到PC上显示,如图 8A(c),此时手机上可以切换回第一窗口,如图8A(d)。
下面以图6为例介绍实施例二的实现原理。具体而言,实施例二的流程可以包括图6 中的步骤S1至S23,或者,只包括S10、S16至S23,下文以包括S1至S23为例介绍。其 中,S1至S15的介绍请参见实施例一。
S16、手机检测到用于打开应用的第三窗口的第四操作。
第四操作的实现方式可以参见实施例一中第二操作的实现方式的介绍,不重复赘述。
S17、手机在第一任务栈中创建第三窗口。
参见图8B,当第一任务栈中已包括第一窗口时,在第四操作的作用下,手机在第一任 务栈中创建第三窗口,第三窗口覆盖第一窗口,所以手机前台从第一窗口切换为第三窗口, 即S18。
S18,手机前台从第一窗口切换为第三窗口。
比如,参见图8C(a),在第四操作的作用下,手机从第一窗口切换为第三窗口,如图8C(b)。
S19、手机检测到用于投出第三窗口的第五操作。
比如,第五操作可以是针对第三窗口的长按且拖动操作,或者,是针对第三窗口的长 按且拖动操作,且拖动操作移动到显示屏上/下/左/右边缘。或者,第五操作是点击多设备中 心中的目标设备的图标的操作。
S20,手机创建第三任务栈,第三任务栈在虚拟显示屏上显示,并将第三窗口从第一任 务栈移动到第三任务栈中。
参见图8B所示,在第五操作的作用下,第三窗口从第一任务栈移出到第三任务栈中。 具体包括:手机创建第三任务栈,并在第三任务栈中创建第三窗口,并关闭第一任务栈中 的第三窗口,所以手机前台从第三窗口切换为第一窗口,即S21。
S21,手机前台从第三窗口切换为第一窗口。
S22,手机将第三窗口的显示信息发送给目标设备。
S24,目标设备显示第三窗口。
参见图8C(b),在第五操作的作用下,手机将第三窗口投屏到PC,PC上显示第三窗口,如图8C(c),此时,手机前台从第三窗口切换为第一窗口,如图8C(d)。
考虑到在投出第三窗口之前,手机已投出第二窗口,所以PC上包括手机投屏来的两个 窗口。图8C(c)中以PC上第二窗口和第三窗口竖排显示为例,可以理解的是,第二窗口和第三窗口还可以有其它的显示方式,比如,如图8D(a)中第三窗口完全覆盖第二窗口, 或者,如图8D(b)中第三窗口覆盖第二窗口的部分,或者,如图8D(c)所示,第二窗口 和第三窗口横排显示,等等。
上面的例子中,以手机只与一个目标设备(即PC)建立投屏连接为例进行介绍。因此, 图8C的例子中,当手机检测到用于投出第三窗口的第五操作(如,针对第三窗口的长按且 拖动操作)时,默认将第三窗口投屏到PC。或者,手机每次检测到用于投出窗口的操作(比 如,第五操作)时,都可以显示设备列表,以供用户选择目标设备。如果继续以图8C为例, 手机检测到用于投出第三窗口的第五操作时,没有直接将第三窗口投屏到PC上,而是显示设备列表,在设备列表中选择目标设备。如果选择的目标设备是PC,由于手机已经与PC建立投屏连接,所以手机可以无需执行与PC的连接过程直接将第三窗口投屏到PC上。如 果用户选择的目标设备是电视机,而手机尚未与电视机建立投屏连接,那么手机与电视机 建立投屏连接,然后将第三窗口投屏到电视机上。
考虑到手机当前连接的目标设备的数量可能不止一个。因此,当手机检测到用于投出 窗口的操作时,需要确定窗口投屏到哪一个目标设备上。比如,参见图8E(a),手机显示 应用的第三窗口,且显示当前连接的所有目标设备的图标。如图8E(b),当手机检测到第三窗口被长按且拖动到PC对应的图标处时,将第三窗口投屏到PC上;或者,当手机检测 到第三窗口被长按且拖动到电视机对应的图标处时,将第三窗口投屏到电视机上。可选的,手机还可以显示已投屏到各个目标设备上的窗口,假设应用的第二窗口和第三窗口已被投屏到PC上,继续参见图8E(b),手机检测到点击按钮810的操作时,可以显示如图8E(c), 在PC对应的图标处显示第二窗口的标记和第三窗口的标记,表征第二窗口和第三窗口被投屏到PC上。为了方便用户识别,窗口的标记可以是窗口的缩小版。
在手机已与第一目标设备建立投屏连接的情况下,也可以将窗口投屏到未连接的第二 目标设备上。比如,当手机检测到用于调出设备列表的操作时,显示设备列表,设备列表 中包括当前未连接的目标设备,以供用户选择。其中,用于调出设备列表的操作比如可以是实施例一中的第三操作,在此不重复。
实施例三
实施例二中,手机已与目标设备建立投屏连接的情况下,当手机检测到用于打开应用 的窗口C的操作时,在手机上显示该窗口C,当检测到用于投出该窗口C的操作时,将该窗口C投屏到目标设备上。与实施例二不同,实施例三中,手机已经与目标设备建立投屏连接的情况下,当手机检测到用于打开应用的窗口C的操作时,手机上可以不打开窗口C, 直接将该窗口C投屏到目标设备上显示。
下面以图6为例介绍实施例三的实现原理。具体而言,实施例三的流程可以包括图6 中的步骤S1至S16、S20、以及S22至S23。也就是说,相对于实施例二,本实施例三少执 行了步骤S17至S19以及S21。换句话说,手机已经与目标设备建立投屏连接后,在用于打开第三窗口的第四操作的作用下,手机没有在第一任务栈中创建第三窗口,而是直接在与 第一任务栈不同的第三任务栈中创建第三窗口。参见图9A,当第一任务栈已包括第一窗口, 第二任务栈中已包括第二窗口(即第二窗口已被投屏到PC上)时,在第四操作的作用下, 手机创建第三任务栈,第三任务栈在虚拟显示屏上显示,并在第三任务栈中创建第三窗口。 由于没有在第一任务栈中创建第三窗口,所以手机前台不打开第三窗口。比如,参见图9B(a),手机前台显示第一窗口,当手机检测到用于打开第三窗口的第四操作时,手机将第三窗口投屏到PC上,手机前台仍然显示第一窗口。
下面介绍实施例三的一种示例性的场景。
假设手机与PC建立投屏连接,并将手机前台显示的应用(如畅连应用)的第二窗口投 屏到PC上,手机上显示应用(如畅连应用)的第一窗口。以第一窗口是与联系人A的聊天窗口为例,请参见图9C(a)所示,第一窗口中包括联系人A发送的图像901,此时,若手 机检测到用户点击图像901的操作(即第四操作),可以将该图像投屏到PC上显示,即图 9C(b)中的第三窗口,而手机上不放大显示图像901。
需要说明的是。图9C以在手机检测到用户要打开图像时将该图像投屏到目标设备上显 示为例。可以理解的是,其它场景也是适用的,比如,手机显示浏览器应用的主页窗口, 主页窗口中包括视频,当手机检测到用于播放该视频的操作时,该视频被投屏到目标设备上显示,手机上可以不打开该视频。
可选的,如果将实施例二的投屏方式作为第一种投屏方式,将实施例三的投屏方式作 为第二种投屏方式,手机可以默认使用第一种投屏方式或第二种投屏方式,当然,用户也 可以选择某种投屏方式,比如,手机上设置投屏方式切换按钮,通过该按钮实现第一种投屏方式和第二种投屏方式之间的切换。
实施例四
除去上述第一种投屏方式和第二种投屏方式之外,本实施例四提供第三种投屏方式。 与第一投屏方式和第二投屏方式不同,在第三种投屏方式中,手机可以显示应用的候选窗 口,所述候选窗口的数量可以是多个,以供用户选择要投出的窗口。
候选窗口可以是应用启动后打开过的所有窗口,以浏览器应用为例,浏览器应用启动 之后,打开首页窗口、新闻A的窗口、新闻B的窗口,那么候选窗口包括这三个窗口。
或者,候选窗口可以是预设的固定窗口。以电话应用为例,候选窗口可以包括通讯录 窗口、最近通话窗口、拨号盘窗口和畅连窗口。
或者,候选窗口可以是用户指定的窗口。以畅连应用为例,用户可以设置与某个联系 人的聊天窗口为候选窗口,还可以指定与某个群聊天窗口为候选窗口。
需要说明的是,上述是对候选窗口的举例,候选窗口还可以有其他的设置方式,比如, 应用中打开次数大于预设次数或打开频率大于预设频率的窗口、应用中前台显示时长大于 预设时长的窗口,等等,本申请实施例不再一一举例。
可选的,每个应用的候选窗口可以不同。每个应用的候选窗口可以是上面列举的窗口。
手机显示应用的候选窗口的方式可以是,在检测到用于调出应用的候选窗口的预设操 作时,显示应用的候选窗口。
其中,预设操作的操作类型本申请不作限定,比如,可以是双击或长按home按键,或 者,可以是从屏幕下方上滑并停顿的操作以进入多任务管理界面,多任务管理界面中包括 候选窗口;或者,双击或长按投屏图标(如位于上拉菜单中);或者,手机与目标设备建立连接后,手机前台显示一候选窗口按钮,检测到针对该按钮的点击操作时调出候选窗口。
可以理解的是,当手机前台显示应用A的窗口时,通过上述预设操作,可以调出该应 用A的候选窗口,或者,调出当前运行的所有应用(比如应用A和应用B)中每个应用的 候选窗口。
举例来说,请参见图10A(a)所示,手机前台显示应用的窗口D。当手机检测到预设操作时,响应于该预设操作显示如图10A(b)所示的界面,该界面中包括该应用的候选窗口,候选窗口包括应用的窗口A至窗口D。假设手机检测到用户选择窗口C和窗口D,手 机将窗口C和窗口D投屏到PC,参见图10A(c),此时,手机前台显示窗口A或窗口B, 比如,如果窗口B在窗口A的上层,则显示窗口B,如图10A(d)。
可选的,图10A(b)中,窗口A至窗口D可以是窗口快照。比如,手机每打开的一个 窗口,就存储该窗口的快照,比如窗口的快照存储在SurfaceFlinger中。因此,SurfaceFlinger 中存储了多个应用的大量窗口快照。为了方便SurfaceFlinger区分不同窗口的快照,每个窗 口快照可以设置唯一标识,该唯一标识与窗口的activity句柄存在对应关系。因此,手机前 台显示应用的窗口D时,当手机检测到上述预设操作时,根据所述应用的每个窗口的activity 句柄以及所述对应关系从SurfaceFlinger中获取所述每个窗口的窗口快照并显示。
图10A所示的例子中,手机投出应用的窗口C和窗口D的实现原理与实施例一中投出 第二窗口的实现原理类似,即将窗口C和窗口D作出栈处理。具体地,请参见图10B所示,第一任务栈中包括窗口A至窗口D,由于窗口D在最上层,所以手机前台显示窗口D,对 应图10A(a)。继续参见图10B,当手机检测到用于将窗口C和窗口D投屏到PC上的操作时,将窗口C转移到第二任务栈,将窗口D移到第三任务栈中,第二任务栈和第三任务栈 在虚拟显示屏上显示,第二任务栈和第三任务栈中的窗口被投屏到PC上。此处,以窗口C 和窗口D移出第一任务栈后处于不同的任务栈为例,可以理解的是,移出第一任务栈后窗口C和窗口D也可以处于同一任务栈,比如均处于第二任务栈中,那么就无需建立第三任 务栈。
需要说明的是,窗口C从第一任务栈移出到第二任务栈时,第二任务栈可以设置原任 务栈标记,该原任务栈标记用于表征第二任务栈的窗口所属的原来的任务栈,即第二任务 栈上设置的原任务栈标记是第一任务栈的标记,比如第一任务栈的ID。通过设置任务栈标 记,可以在退出投屏时,便于将第二任务栈中的窗口还原到原来的第一任务栈。同理,窗口D从第一任务栈移出到第三任务栈时,第三任务栈设置的原任务栈标记也是第一任务栈的ID。
上面图10A和图10B以窗口A至窗口D处于同一任务栈即第一任务栈为例,用户可以在该任务栈中选择要投出的窗口,简单来说,是以窗口的维度进行选择。可选的,手机还 可以任务栈的维度进行选择。比如,参见图10C(a),手机前台显示应用的窗口D。当手机 检测到预设操作时,响应于该预设操作,显示如图10C(b)所示的界面,该界面中包括前台应用的所有任务栈,或当前运行的所有应用中每个应用的所有任务栈。以所述界面显示 前台应用的所有任务栈为例,比如任务栈A和任务栈B,任务栈A中包括两个窗口,任务 栈B中包括两个窗口;假设手机检测到选择任务栈B的操作时,将任务栈B内的所有窗口 全部投屏到PC上,如图10C(c),此时手机上显示窗口B(如,窗口B在任务栈A的最上 层)。
可选的,图10C(b)中,窗口A至窗口D也可以是窗口快照。比如,当手机检测到上 述预设操作时,从SurfaceFlinger中获取每个窗口的窗口快照并将窗口快照以任务栈的形式显示。
可选的,投屏到PC上的窗口可以关闭,比如,参见图10A,窗口C中包括关闭控件1001,当PC上检测到点击窗口C中的“关闭”控件1001的操作时,关闭窗口C,即PC上不 再显示窗口C。
可选的,PC上关闭窗口C时,窗口C还可以退回到手机上显示。比如,继续参见图10A,当PC上检测到点击窗口C中的“关闭”控件1001的操作时,PC向手机发送指令, 该指令用于指示手机显示窗口C,所以,PC上关闭窗口C,手机上显示窗口C,如图10D。
窗口C退回到手机上显示可以通过栈还原原理实现。具体的,参见图10E,窗口C是位于第二任务栈。由于第二任务栈设置的原任务栈标记是第一任务栈的ID,所以手机可以基于该原任务栈标记确定窗口C的原任务栈是第一任务栈,所以,手机将窗口C从第二任 务栈中还原到第一任务栈中,那么第一任务栈中窗口C覆盖窗口B和窗口A。因此,手机 上显示窗口C,PC上关闭窗口C。可选的,手机还可以关闭第二任务栈,如图10E。
如果将PC上关闭窗口C时将窗口C退回到手机进行显示作为第一种方式,将PC上关闭窗口C时窗口C不退回到手机进行显示作为第二种方式。手机可以默认使用第一种方式或第二种方式。或者,用户可以选择第一种方式或第二种方式,比如,手机上或PC上包括 切换按钮,通过该切换按钮选择第一种方式或第二种方式。
可选的,窗口C投屏到PC后,当手机上检测到用于打开窗口C的操作时,也可以拉回PC上的窗口C。比如,当手机上检测到用于打开窗口C的操作时,手机向PC发送指令, 该指令用于指示PC关闭窗口C,所以PC上关闭窗口C,手机上显示窗口C,如图10D。
可选的,当手机检测到用于打开窗口C的操作时,也可以不拉回PC上的窗口C。比如, 继续以图10A(d)为例,手机显示窗口B,PC上显示窗口C和窗口D,此时,当手机检 测到用于打开窗口C的操作时,手机前台显示窗口C,PC仍然显示窗口C,如图10F。如 果手机不拉回PC上的窗口C,其实现原理可以参见图10G,手机上检测到用于打开窗口C 的操作时,在第一任务栈中创建窗口C,第二任务栈中仍然包括窗口C,所以,手机和PC 上都显示窗口C。
可选的,图10G中,在第一任务栈中创建的窗口C可以是复用第二任务栈中的窗口C, 或者,也可以是新建的窗口C。或者,手机可以判断窗口C是否支持多实例,如果是,则 新建窗口C,如果否,则复用第二任务栈中的窗口C。
如果将手机上打开窗口C时将PC上的窗口C拉回到手机作为第一种方式,将手机打开窗口C时不拉回手机作为第二种方式。手机可以默认使用第一种方式或第二种方式。或者,用户可以选择第一种方式或第二种方式,比如,手机上或PC上包括切换按钮,通过该 切换按钮选择第一种方式或第二种方式。
可选的,用户可以在PC上可以打开应用的新窗口。比如,参见图11A,手机上显示窗口B,PC上显示窗口C和窗口D。当PC上检测到针对窗口D中“+”按钮的点击操作时, PC上显示应用的窗口E。其中,窗口E可以默认的固定窗口,比如应用的主页窗口或用户 指定的窗口。或者,窗口E还可以是应用已经打开的所有窗口中位于窗口D的上层窗口或 下层窗口。以下层窗口为例,PC检测到针对窗口D中“+”按钮的点击操作时,向手机发送 指令,手机确定窗口D的下一层窗口是窗口C,且窗口C已经显示在PC上,那么手机可 以继续判断窗口C的下一层窗口即窗口B是否投屏到PC上,如果没有,则将窗口B投屏 到PC上,那么手机前台可以不再显示窗口B,而是显示窗口B的下一层窗口即窗口A。
具体而言,PC上打开应用的窗口E的实现原理可以参见图11B所示,当PC上检测到用于打开窗口E的操作时,向手机发送指令,该指令用于指示PC上需要打开窗口E,手机 接收到指令之后,创建第四任务栈,在第四任务栈中创建窗口E,第四任务栈在虚拟显示屏上显示,所以被投屏到PC上,所以PC上显示窗口E。如果窗口E是窗口B的话,即图11B 中第一任务栈中的窗口B移动到第四任务栈中。
基于以上实施例,本申请实施例还提供了一种电子设备,所述电子设备可以是上文中 的主设备或目标设备。如图12所示,所述电子设备1200可以包括:显示屏1201,一个或多个处理器1202,存储器1203,以及一个或多个计算机程序(图中未示出)。上述各器件 可以通过一个或多个通信总线2704耦合。
其中,显示屏1201用于显示应用的界面、图像、视频等相关用户界面。存储器1203中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令;处理器1202调用存储器1203中存储的所述指令,使得电子设备1200执行本申请实施例提供的应用窗口的投屏方法。
上述本申请提供的实施例中,从电子设备作为执行主体的角度对本申请实施例提供的 方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,终端设备可以包括 硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的 方式来执行,取决于技术方案的特定应用和设计约束条件。
以上实施例中所用,根据上下文,术语“当…时”或“当…后”可以被解释为意思是“如果…” 或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定… 时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确 定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。 另外,在上述实施例中,使用诸如第一、第二之类的关系术语来区份一个实体和另一个实体,而并不限制这些实体之间的任何实际的关系和顺序。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。 当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产 品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算 机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质 中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算 机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、 数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质 (例如固态硬盘Solid State Disk(SSD))等。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的 功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些 功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方 向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的 任何可用介质。
以上所述的具体实施方式,对本申请实施例的目的、技术方案和有益效果进行了进一 步详细说明,所应理解的是,以上所述仅为本申请实施例的具体实施方式而已,并不用于 限定本申请实施例的保护范围,凡在本申请实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请实施例的保护范围之内。本申请说明书的上述 描述可以使得本领域技术任何可以利用或实现本申请实施例的内容,任何基于所公开内容 的修改都应该被认为是本领域显而易见的,本申请实施例所描述的基本原则可以应用到其 它变形中而不偏离本申请的发明本质和范围。因此,本申请实施例所公开的内容不仅仅局限于所描述的实施例和设计,还可以扩展到与本申请原则和所公开的新特征一致的最大范 围。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请实 施例的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅 是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有 修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型 而不脱离本申请的范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请实施例也意图包括这些改动和变型在内。

Claims (27)

1.一种应用窗口的投屏方法,其特征在于,适用于包括第一电子设备和第二电子设备的系统,所述方法包括:
所述第一电子设备与所述第二电子设备建立连接;
所述第一电子设备将应用的第一窗口投屏到所述第二电子设备;
所述第二电子设备显示所述第一窗口;
所述第一电子设备显示所述应用的第二窗口;
所述第一电子设备将所述应用的第三窗口投屏到所述第二电子设备;
所述第二电子设备显示所述第三窗口,所述第二电子设备上的所述第三窗口完全或不完全覆盖所述第一窗口;
在所述第二电子设备上检测到的用于关闭所述第二电子设备上的所述第一窗口的操作,或者,在所述第一电子设备上再次检测到的用于在所述第一电子设备上打开所述第一窗口的操作时,所述第一电子设备显示所述第一窗口,所述第二电子设备关闭所述第一窗口。
2.如权利要求1所述的方法,其特征在于,所述第二窗口是所述第一窗口的上一个窗口;或者,是所述应用的默认窗口;或者,是所述应用的指定窗口。
3.如权利要求1所述的方法,其特征在于,所述第一电子设备将应用的第一窗口投屏到所述第二电子设备,包括:
响应于用于打开所述第一窗口的操作,所述第一电子设备将所述第一窗口投屏到所述第二电子设备。
4.如权利要求3所述的方法,其特征在于,所述用于打开所述第一窗口的操作,包括:用于打开图像的操作;和/或,用于播放视频文件的操作。
5.如权利要求1所述的方法,其特征在于,所述第一电子设备将应用的第一窗口投屏到所述第二电子设备,包括:
响应于用于打开所述第一窗口的操作,所述第一电子设备显示所述第一窗口;
响应于用于投出所述第二窗口的操作,所述第一电子设备将所述第一窗口投屏到所述第二电子设备。
6.如权利要求1-5任一所述的方法,其特征在于,所述第一电子设备将应用的第一窗口投屏到所述第二电子设备之前,还包括:
所述第一电子设备显示所述第一窗口和所述第二窗口;
所述第一电子设备显示所述应用的第二窗口,包括:
所述第一电子设备全屏显示所述第二窗口。
7.如权利要求1-5任一所述的方法,其特征在于,所述第一电子设备将应用的第一窗口投屏到所述第二电子设备,包括:
响应于第一操作,显示多个待投屏设备的多个标识;
响应于在所述多个标识中选择所述第二电子设备的标识的操作,所述第一电子设备将所述第一窗口投屏到所述第二电子设备。
8.如权利要求1-5任一所述的方法,其特征在于,所述第一电子设备将应用的第一窗口投屏到所述第二电子设备,包括:
响应于第二操作,显示所述应用的多个候选窗口;
响应于在所述多个候选窗口中选择所述第一窗口的操作,所述第一电子设备将所述第一窗口投屏到所述第二电子设备。
9.如权利要求8所述的方法,其特征在于,所述候选窗口,包括:
所述第一电子设备已经打开的所述应用的所有窗口;或者,
所述应用的预设窗口;或者,
所述应用中用户指定的窗口;或者,
所述应用中打开次数或频率大于预设值的窗口;或者,
所述应用中前台运行时长大于预设时长的窗口。
10.如权利要求1-5任一所述的方法,其特征在于,所述应用还包括第四窗口,所述方法还包括:
所述第二电子设备上检测到用于打开所述第二窗口的操作;
响应于所述用于打开所述第二窗口的操作,所述第二电子设备向所述第一电子设备发送第二指令;
响应于接收到的所述第二指令,所述第一电子设备将所述第二窗口投屏到所述第二电子设备;
所述第二电子设备显示所述第二窗口;所述第二窗口完全或不完全覆盖所述第一窗口;
所述第一电子设备显示所述第四窗口。
11.如权利要求1-5任一所述的方法,其特征在于,所述应用还包括第四窗口,所述系统中还包括第三电子设备,所述方法还包括:
所述第一电子设备与所述第三电子设备连接;
所述第一电子设备将所述第二窗口投屏到所述第三电子设备;
所述第三电子设备显示所述第二窗口;
所述第一电子设备显示所述第四窗口。
12.如权利要求1-5任一所述的方法,其特征在于,所述第一电子设备将应用的第一窗口投屏到所述第二电子设备,包括:
所述第一电子设备在第一任务栈中创建所述第一窗口;所述第一任务栈中的窗口被配置为投屏到所述第二电子设备上进行显示;
其中,所述第一任务栈与所述第二窗口所在的第二任务栈不同,所述第二任务栈中的窗口被配置为在所述第一电子设备的显示屏上显示。
13.如权利要求1-5任一所述的方法,其特征在于,所述第一电子设备将应用的第一窗口投屏到所述第二电子设备,包括:
响应于用于打开所述第一窗口的操作,所述第一电子设备在第二任务栈中创建所述第一窗口;所述第二任务栈的窗口被配置为在所述第一电子设备的显示屏上显示;
响应于用于投出所述第一窗口的操作,所述第一电子设备在第一任务栈中创建所述第一窗口,关闭所述第二任务栈中的所述第一窗口;所述第一任务栈中的窗口被配置为投屏到所述第二电子设备上显示。
14.如权利要求13所述的方法,其特征在于,所述方法还包括:
响应于用于将所述第一窗口还原到所述第一电子设备上显示的操作,所述第一电子设备根据所述第一任务栈的原栈标记确定所述第一窗口的原任务栈是第二任务栈;
所述第一电子设备在所述第二任务栈中创建所述第一窗口;
所述第一电子设备关闭所述第一任务栈中的所述第一窗口。
15.如权利要求1-5任一所述的方法,其特征在于,所述第一电子设备将应用的第一窗口投屏到所述第二电子设备,包括:
响应于预设操作,所述第一电子设备显示所述应用的多个任务栈;
响应于用于在所述多个任务栈中选择第三任务栈的操作,所述第一电子设备将所述第三任务栈中的所有窗口投屏到所述第二电子设备上。
16.一种应用窗口的投屏方法,其特征在于,适用于第一电子设备,所述第一电子设备中包括应用,所述应用包括第一窗口和第二窗口;所述方法包括:
所述第一电子设备与第二电子设备连接;
所述第一电子设备将所述第一窗口投屏到所述第二电子设备上显示;
所述第一电子设备显示所述第二窗口;
所述第一电子设备将所述应用的第三窗口投屏到所述第二电子设备,所述第二电子设备上的所述第三窗口完全或不完全覆盖所述第一窗口;
在所述第一电子设备上再次检测到的用于打开所述第一窗口的操作时,所述第一电子设备将所述第二电子设备上的所述第一窗口还原到所述第一电子设备上显示。
17.如权利要求16所述的方法,其特征在于,所述第二窗口是所述第一窗口的上一个窗口;或者,所述应用的默认窗口;或者,所述应用的指定窗口。
18.如权利要求16所述的方法,其特征在于,所述第一电子设备将所述第一窗口投屏到所述第二电子设备上显示,包括:
响应于用于打开所述第一窗口的操作,所述第一电子设备将所述第一窗口投屏到所述第二电子设备上显示。
19.如权利要求18所述的方法,其特征在于,所述用于打开所述第一窗口的操作,包括:用于打开图像的操作;和/或,用于播放视频文件的操作。
20.如权利要求16所述的方法,其特征在于,所述第一电子设备将所述第一窗口投屏到所述第二电子设备上显示,包括:
响应于用于打开所述第一窗口的操作,所述第一电子设备显示所述第一窗口;
响应于用于投出所述第二窗口的操作,所述第一电子设备将所述第一窗口投屏到所述第二电子设备上显示。
21.如权利要求16-20任一所述的方法,其特征在于,所述第一电子设备将所述第一窗口投屏到所述第二电子设备之前,还包括:
所述第一电子设备显示所述第一窗口和所述第二窗口;
所述第一电子设备显示所述第二窗口,包括:
所述第一电子设备全屏显示所述第二窗口。
22.如权利要求16-20任一所述的方法,其特征在于,所述第一电子设备将所述第一窗口投屏到所述第二电子设备上显示,包括:
响应于第二操作,显示所述应用的多个候选窗口;
响应于在所述多个候选窗口中选择所述第一窗口的操作,所述第一电子设备将所述第一窗口投屏到所述第二电子设备上显示。
23.如权利要求16-20任一所述的方法,其特征在于,所述应用还包括第三窗口,所述方法还包括:
所述第一电子设备与第三电子设备连接;
所述第一电子设备将所述第二窗口投屏到所述第三电子设备,以使所述第三电子设备显示所述第二窗口;
所述第一电子设备显示所述第三窗口。
24.如权利要求16-20任一所述的方法,其特征在于,所述第一电子设备将所述第一窗口投屏到所述第二电子设备,包括:
所述第一电子设备在第一任务栈中创建所述第一窗口;所述第一任务栈中的窗口被配置为投屏到所述第二电子设备上进行显示;其中,所述第一任务栈与所述第二窗口所在的第二任务栈不同,所述第二任务栈中的窗口被配置为在所述第一电子设备的显示屏上显示。
25.如权利要求16-20任一所述的方法,其特征在于,所述第一电子设备将所述第一窗口投屏到所述第二电子设备,包括:
响应于用于打开所述第一窗口的操作,所述第一电子设备在第二任务栈中创建所述第一窗口;所述第二任务栈的窗口被配置为在所述第一电子设备的显示屏上显示;
响应于用于投出所述第一窗口的操作,所述第一电子设备在第一任务栈中创建所述第一窗口,关闭所述第二任务栈中的所述第一窗口;所述第一任务栈中的窗口被配置为投屏到所述第二电子设备上显示。
26.一种电子设备,其特征在于,包括:显示屏,一个或多个处理器,存储器,以及,一个或多个程序;其中,所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如权利要求1至25中任意一项所述的方法。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至25中任意一项所述的方法。
CN202011195469.7A 2020-10-31 2020-10-31 一种应用窗口的投屏方法与电子设备 Active CN114442970B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202011195469.7A CN114442970B (zh) 2020-10-31 一种应用窗口的投屏方法与电子设备
EP21884852.1A EP4224307A4 (en) 2020-10-31 2021-09-27 SCREEN PROJECTION METHODS FOR APPLICATION WINDOWS AND ELECTRONIC DEVICES
US18/251,203 US20230388406A1 (en) 2020-10-31 2021-09-27 Application Window Projection Method and Electronic Device
PCT/CN2021/121041 WO2022089122A1 (zh) 2020-10-31 2021-09-27 一种应用窗口的投屏方法与电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011195469.7A CN114442970B (zh) 2020-10-31 一种应用窗口的投屏方法与电子设备

Publications (2)

Publication Number Publication Date
CN114442970A CN114442970A (zh) 2022-05-06
CN114442970B true CN114442970B (zh) 2024-07-16

Family

ID=

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767012A (zh) * 2020-05-29 2020-10-13 维沃移动通信有限公司 投屏方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767012A (zh) * 2020-05-29 2020-10-13 维沃移动通信有限公司 投屏方法及装置

Similar Documents

Publication Publication Date Title
US12019864B2 (en) Multimedia data playing method and electronic device
CN114467297B (zh) 一种应用于电子设备的视频通话的显示方法及相关装置
EP3982246A1 (en) Display method and related apparatus
CN113885759B (zh) 通知消息处理方法、设备、系统及计算机可读存储介质
US20230046708A1 (en) Application Interface Interaction Method, Electronic Device, and Computer-Readable Storage Medium
CN112492193B (zh) 一种回调流的处理方法及设备
CN116360725B (zh) 显示交互系统、显示方法及设备
CN114115770B (zh) 显示控制的方法及相关装置
US20220294896A1 (en) Call method and apparatus
EP4184905A1 (en) Device recognition method and related apparatus
CN116233300A (zh) 控制通信服务状态的方法、终端设备和可读存储介质
CN114185503A (zh) 多屏交互的系统、方法、装置和介质
CN117956269A (zh) 一种摄像头切换方法及相关电子设备
CN114356195B (zh) 一种文件传输的方法及相关设备
WO2021052388A1 (zh) 一种视频通信方法及视频通信装置
WO2022089122A1 (zh) 一种应用窗口的投屏方法与电子设备
WO2020124447A1 (zh) 面向多卡的网络管理
CN114442970B (zh) 一种应用窗口的投屏方法与电子设备
CN114079691B (zh) 一种设备识别方法及相关装置
EP4339770A1 (en) Screen sharing method and related device
US12039144B2 (en) Display information interaction method and related apparatus
CN113934352B (zh) 通知消息处理方法、电子设备和计算机可读存储介质
WO2023093778A1 (zh) 一种截屏方法及相关装置
CN114584817B (zh) 投屏方法及系统
WO2023160224A1 (zh) 一种拍摄方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant