CN118101641A - 截图分享方法及电子设备 - Google Patents

截图分享方法及电子设备 Download PDF

Info

Publication number
CN118101641A
CN118101641A CN202211463744.8A CN202211463744A CN118101641A CN 118101641 A CN118101641 A CN 118101641A CN 202211463744 A CN202211463744 A CN 202211463744A CN 118101641 A CN118101641 A CN 118101641A
Authority
CN
China
Prior art keywords
operating system
screenshot
image
user
electronic device
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
Application number
CN202211463744.8A
Other languages
English (en)
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
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202211463744.8A priority Critical patent/CN118101641A/zh
Priority to PCT/CN2023/127434 priority patent/WO2024104094A1/zh
Publication of CN118101641A publication Critical patent/CN118101641A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/04817Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种截图分享方法及电子设备,电子设备100可以安装有宿主操作系统,在宿主操作系统之上可以加载有客户操作系统,电子设备100在检测到用户触发显示截图界面的操作之后,可以通过宿主操作系统来支持用户自由进行任意区域的图像截取操作、对图像的编辑操作等,进而生成截屏图像,并将该截屏图像的信息保存到宿主操作系统的剪贴板中,之后,宿主操作系统可以将该截屏图像的信息共享到客户操作系统的剪贴板中,以供客户操作系统的应用程序使用,从而达到客户操作系统的应用程序可以直接粘贴该截屏图像的效果,对于客户操作系统的社交类应用程序,还可以达到一键式跨系统截图分享的效果,简化用户操作,提高用户体验。

Description

截图分享方法及电子设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种截图分享方法及电子设备。
背景技术
随着虚拟化技术的发展和成熟,传统个人电脑(PersonalComputer,PC)和移动设备(例如手机)可以通过模拟器等技术来实现生态融合,这样,用户就可以在PC端运行移动端操作系统(Operating System,OS)的应用程序(Application)了。
然而,在上述生态融合场景下,用户如果想要通过移动端操作系统的应用程序进行截图分享操作,通常需要先利用模拟器提供的截图功能把截屏图像保存到移动操作系统的“图库”应用程序中,然后再选择“图库”应用程序中保存的该截屏图像,选择完成后再触发分享操作,整个过程操作较为复杂。而且,模拟器提供的截图功能较为单一,目前模拟器无法充分利用PC端操作系统提供的强大的截图功能,生态融合体验差。
发明内容
本申请实施例提供了一种截图分享方法及电子设备,可以达到一键式跨系统截图分享的效果,简化用户操作,提高用户体验。
第一方面,本申请实施例提供了一种截图分享方法,应用于电子设备,该电子设备上运行有第一操作系统和第二操作系统,该方法包括:响应于用户的截图操作,第一操作系统生成并保存截屏图像;第二操作系统获取截屏图像,并将截屏图像保存到第二操作系统的剪贴板中;第二操作系统在用户界面显示悬浮窗口,悬浮窗口是基于截屏图像生成的,用户界面是第二操作系统中的应用程序的一个用户界面;第二操作系统检测到用户在用户界面上针对悬浮窗口的第一操作;响应于第一操作,电子设备向其他设备发送截屏图像。
通过实施第一方面提供的方法,电子设备在检测到用户触发截图操作之后,可以生成截屏图像,并将该截屏图像的信息保存到宿主操作系统(也可以称为第一操作系统)的剪贴板中,之后,宿主操作系统可以将该截屏图像的信息共享到客户操作系统(也可以称为第二操作系统)的剪贴板中,以供客户操作系统的应用程序使用,从而达到客户操作系统的应用程序可以直接粘贴该截屏图像的效果,对于客户操作系统的社交类应用程序,还可以达到一键式跨系统截图分享的效果,简化用户操作,提高用户体验。
在一种可能的实现方式中,在第二操作系统获取截屏图像之前,该方法还包括:第一操作系统向第二操作系统发送第一消息,第一消息用于指示第二操作系统获取截屏图像。
这样,在第一操作系统中的剪贴板中有新保存的内容时,第一操作系统可以通知第二操作系统来获取该新保存的内容,以便可以使得第二操作系统可以使用该内容。
在一种可能的实现方式中,第一消息是通过进程间通信IPC发送的。
在一种可能的实现方式中,第二操作系统获取截屏图像,包括:第二操作系统接收第一操作系统发送的截屏图像。
这样,在第一操作系统中的剪贴板中有新保存的内容时,第一操作系统可以直接将该内容发送至第二操作系统,以便可以使得第二操作系统可以使用该内容。
在一种可能的实现方式中,第一操作系统保存截屏图像,包括:第一操作系统将截屏图像保存到第一操作系统的剪贴板中以及保存到共享文件夹中。
这样,在第一操作系统中剪贴板中有新保存的内容时,第一操作系统也可以将该内容保存到共享文件夹中,以便可以使得第二操作系统在共享文件夹中获取该内容。
在一种可能的实现方式中,在第一操作系统向第二操作系统发送第一消息之前,该方法还包括:第一操作系统检测到剪贴板中最新保存的内容为图片。
这样,第一操作系统可以在检测到其剪贴板中最新保存的内容为图片(例如截图图像) 的情况下,可以将该图片保存到共享文件夹中,同时,还可以通知第二操作系统在共享文件夹中获取该图片。
在一种可能的实现方式中,第二操作系统获取截屏图像,包括:第二操作系统从共享文件夹中获取截屏图像。
这样,第二操作系统可以在共享文件夹中获取截屏图像,之后,可以将该截屏图像保存到其剪贴板中,以便后续第二操作系统的应用程序可以使用该截屏图像。
在一种可能的实现方式中,在第二操作系统在用户界面显示悬浮窗口之前,该方法还包括:第二操作系统扫描截屏图像在共享文件夹中的路径,并基于该路径将截屏图像的信息插入到媒体数据库中。
在一种可能的实现方式中,所述第二操作系统基于所述路径将所述截屏图像的信息插入到媒体数据库中,包括:所述第二操作系统在基于所述路径确定所述截屏图像符合预设规则的情况下,将所述截屏图像的信息插入到媒体数据库中;其中,预设规则包括以下任意一项或多项:截屏图像的命名中包括特定关键字、截屏图像的时间戳信息中记录的时间点与第一时间点的时间间隔在预设时间间隔内,第一时间点为第二操作系统扫描截屏图像在所述共享文件夹中的路径时的时间点。
这样,第二操作系统可以在确定截屏图像符合预设规则(例如预设截图规则)的情况下,将截屏图像的信息插入到媒体数据库中,以便后续应用程序检测到媒体数据库中插入的信息发生变化的情况下可以自动触发显示悬浮窗口,达到一键式跨系统截图分享的效果。
在一种可能的实现方式中,在第二操作系统基于路径将截屏图像的描述信息插入到媒体数据库中之后,该方法还包括:应用程序从第二操作系统的剪贴板中获取截屏图像。
这样,应用程序可以从第二操作系统的剪贴板中获取截屏图像,从而可以在该应用程序的某一个用户界面(例如聊天界面)自动触发显示悬浮窗口,达到一键式跨系统截图分享的效果。
在一种可能的实现方式中,截图操作包括以下一项或多项:选取截图区域的操作、在截图区域上的编辑操作。
这样,第一操作系统可以支持用户自由进行任意区域的图像截取操作、对图像的编辑操作等,方便灵活,提高用户体验。
在一种可能的实现方式中,用户界面中显示有输入框、用于进行文件分享的控件。
这样,应用程序才可以具体分享截屏图像的能力,从而可以支持用户进行截屏图像的分享。
第二方面,本申请实施例提供了一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器;其中,一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述第一方面任一项可能的实现方式中的方法。
第三方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,计算机程序包括程序指令,当程序指令在电子设备上运行时,使得电子设备执行上述第一方面任一项可能的实现方式中的方法。
第四方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述第一方面任一项可能的实现方式中的方法。
附图说明
图1A-图1B是本申请实施例提供的一种电子设备100通过客户操作系统的应用程序进行截图的过程中涉及的用户界面示意图;
图1C是本申请实施例提供的图1A-图1B所示的截图过程生成的截屏图像示意图;
图1D-图1G是本申请实施例提供的一种电子设备100通过客户操作系统的应用程序进行分享截图的过程中涉及的用户界面示意图;
图2A-图2B是本申请实施例提供的截图分享方法在截图过程涉及的一组用户界面示意图;
图2C是本申请实施例提供的图2A-图2B所示的截图过程生成的截屏图像示意图;
图2D-图2E是本申请实施例提供的截图分享方法在分享截图过程涉及的一组用户界面示意图;
图3A-图3C是本申请实施例提供的截图分享方法在截图过程涉及的另一组用户界面示意图;
图3D是本申请实施例提供的图3A-图3C所示的截图过程生成的截屏图像示意图;
图3E-图3F是本申请实施例提供的截图分享方法在分享截图过程涉及的另一组用户界面示意图;
图4是本申请实施例提供的一种截图分享方法的流程示意图;
图5是本申请实施例提供的一种电子设备100的软件结构示意图;
图6是本申请实施例提供的另一种电子设备100的软件结构示意图;
图7是本申请实施例提供的电子设备100在安装有宿主操作系统,且在宿主操作系统之上加载有客户操作系统的情况下实施本申请实施例提供的截图分享方法时各个模块之间的一种可能的协作方式示意图;
图8是本申请实施例提供的一种电子设备100的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
应当理解,本申请的说明书和权利要求书及附图中的术语“第一”、 “第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
本申请以下实施例中的术语“用户界面(user interface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markuplanguage,XML)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphicuser interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
目前市面上主流的电脑桌面操作系统包括主流的移动端操作系统包括/>由于应用程序在不同操作系统上的运行机制各不相同,不同操作系统之间存在沟通和交互的壁垒,在很多方面不能做到简单有效的生态融合。因此一般情况下,在操作系统A上的应用程序是无法安装和运行在操作系统B上的,比如,操作系统中的应用程序不能直接安装和运行在/>操作系统上面。
随着虚拟化技术的发展和成熟,如果用户需要在电脑端运行或/>系统的应用程序,那么, 用户可以通过虚拟化(virtualization)技术去实现它,例如,使用安卓模拟器 (/>simulator)、安卓容器(/>container)等技术。 以/>操作系统上安装安卓模拟器为例,用户可以先启动/>操作系统里的安卓模拟器,运行子系统,再从/>子系统里面启动应用程序。
在上述情况下,电脑可以称为宿主机,电脑运行的底层操作系统可以称为宿主操作系统 (Host OS)。宿主机上的模拟器或容器等中运行的操作系统可以称为客户操作系统(Guest OS)。此时,客户操作系统可以运行在宿主机上,宿主机通过为模拟器或容器等虚拟一套独立于实际硬件的虚拟硬件环境(包括处理器,内存,I/O设备等),使得对于客户操作系统而言,在宿主机上的虚拟硬件环境中运行,与在实际硬件上运行没有差别。这样,电脑和移动设备的生态就可以实现融合了。作为融合产品,不仅可以让用户体验到移动端生态提供的丰富的应用程序,还可以体验到电脑和移动设备这两个生态中应用程序之间的交互场景。在上述生态融合场景下,用户就可以像使用电脑的应用程序一样来使用移动设备的应用程序了,而且,基于电脑的高性能和显示输入设备,在某些方面可以让用户获得优于移动设备的使用体验。
截图操作是移动设备上的高频操作,用户可以通过快捷键、手势、点击下拉菜单中的截图选项等方式来进行全屏幕的图像截取,截取完成后可以在操作系统的“图库”应用程序(也可以称为“相册”应用程序)中保存为图片,用户可以在“图库”应用程序中对该图片进行简单的编辑操作(例如裁剪图片大小、调整图片画面色彩、马赛克、涂鸦等操作),还可以支持用户在其他应用程序(例如社交类应用程序)中使用和分享该图片。
当前主流的模拟器基本上都提供了对应用程序的整个用户界面进行截图的功能选项,以达到和使用移动设备相同的体验。
下面结合图1A-图1G示例性地介绍电子设备100通过客户操作系统(例如模拟器中运行的操作系统)的应用程序进行截图、分享截图的过程中涉及的一组用户界面。
在本申请实施例中,以电子设备100是笔记本电脑为例来进行说明。
本申请实施例中涉及的用户操作可以是用户通过电子设备100的键盘、鼠标来实现的操作,也可以用户通过电子设备100的触摸屏或触控板来实现的操作,还可以是用户的语音指令操作或隔空手势操作,本申请实施例对用户操作的实现方式不作限定。
图1A-图1B示例性示出了电子设备100通过客户操作系统的应用程序进行截图的过程中涉及的用户界面。
参阅图1A,用户界面110可以为宿主操作系统的一个用户界面(也可以称为桌面)。该用户界面中可以包括一个或多个应用程序的图标(例如“回收站”应用程序的图标、“此电脑”应用程序的图标、“应用市场”应用程序的图标、“阅读”应用程序的图标、“聊天”应用程序的图标等),这一个或多个应用程序的图标中既可以包括宿主操作系统的应用程序的图标(例如“回收站”应用程序的图标、“此电脑”应用程序的图标、“应用市场”应用程序的图标),也可以包括客户操作系统的应用程序的图标(例如“阅读”应用程序的图标、“聊天”应用程序的图标)。
可选地,客户操作系统的应用程序的图标上可以显示有移动设备的相关标识(例如标识 111、标识112),便于用户区分该图标是宿主操作系统的应用程序的图标,还是客户操作系统的应用程序的图标。
继续参阅图1A,用户界面110上还可以包括用户打开的客户操作系统的一个或多个应用程序的用户界面(例如用户界面113)。可以看出,用户界面113为客户操作系统的阅读应用程序的一个用户界面。
如果用户想要对用户界面113进行截图,那么,电子设备100可以检测到用户针对用户界面113中的选项114的操作(例如点击操作),响应于该操作,电子设备100可以显示图1B示例性所示的窗口120。
参阅图1B,窗口120中可以包括一个或多个选项(例如“截屏”选项121等),电子设备100可以检测到用户针对“截屏”选项121的操作(例如点击操作),响应于该操作,电子设备100可以对整个用户界面113进行截图,截图完成后可以在客户操作系统的“图库”应用程序中保存为图片。
参阅图1C,图1C示例性所示的图片130可以为上述图1A-图1B所示的截图过程生成的截屏图像。可以看出,该图片130为整个用户界面113对应的截屏图像。
图1D-图1G示例性示出了电子设备100通过客户操作系统的应用程序进行分享截图的过程中涉及的用户界面。
以电子设备100通过客户操作系统的“聊天”应用程序(即具备社交功能的一个应用程序)分享上述图1C示例性所示的图片130为例。
参阅图1D,用户界面140可以为客户操作系统的“聊天”应用程序的一个用户界面。可以看出,该用户界面可以为用户与其好友Lily的聊天界面,如果用户想要向其好友Lily分享图片,那么,电子设备100可以检测到用户针对用户界面140中的选项141的操作(例如点击操作),响应于该操作,电子设备100在用户界面140中显示图1E示例性所示的窗口150(即虚线框区域)。
参阅图1E,窗口150中可以包括“图库”应用程序中的一张或多张图片对应的选项(例如选项151),可以用于用户选择一张或多张图片来进行分享。可以看出,上述图1C示例性所示的图片130对应的选项为选项151,该选项当前处于未被选中状态。如果用户想要向其好友Lily分享图片130,那么,电子设备100可以检测到用户针对选项151的操作(例如点击操作),响应于该操作,电子设备100可以将选项151由图1E所示的未被选中状态置为图1F所示的被选中状态,即表示用户选择的待分享图片为图片130。
参阅图1F,用户在选择完成上述待分享图片之后,电子设备100可以检测到用户针对选项161的操作(例如点击操作),响应于该操作,电子设备100可以通过“聊天”应用程序向好友Lily的电子设备发送图片130,并在用户界面140中显示图1G示例性所示的聊天消息171,该聊天消息可以为用户向其好友Lily分享图片130的消息。至此,完成了分享截图的过程。
在本申请实施例中,客户操作系统的多个应用程序的用户界面可以同时进行显示。例如,图1D所示的“阅读”应用程序的用户界面与“聊天”应用程序的用户界面可以同时并列显示。
在一些示例中,在上述图1D-图1G所示的分享截图的过程中,电子设备100也可以只显示上述用于分享截图的“聊天”应用程序的用户界面,而不显示其他应用程序的用户界面(例如“阅读”应用程序的用户界面)。
从图1A-图1G中可以看出,在上述图1A-图1B所示的截图过程中,模拟器只是对移动设备的截图功能的简单模仿,仅仅能够支持对应用程序的用户界面进行最基础的固定尺寸截图(即只能截取应用程序的整个用户界面),截图编辑功能较为单一,截图完成之后会把截屏图像保存到“图库”应用程序中。在上述图1D-图1G所示的分享截图过程中,用户需要先选择“图库”应用程序中保存的截屏图像,选择完成后再触发分享操作,整个过程操作较为复杂,用户体验差。
目前,电脑操作系统提供的截图功能要比移动设备操作系统提供的截图功能强大非常多,对于电脑操作系统,无论是系统自带的截图功能,还是电脑操作系统安装的第三方应用程序提供的快捷键截图功能,都可以在截图过程中提供对图像的编辑操作(例如自由框选截图区域、文本填涂标注、图像自由编辑等)功能,在使用体验上远优于移动设备提供的截图功能。
在生态融合场景下,如果能够将电脑生态提供的强大的截图功能共享到模拟器的移动生态中,则会使得用户获得更好的体验。因此,当前的技术也做到了使用电脑操作系统(即宿主操作系统)的截图功能来进行跨系统的截图操作,即用户可以不使用模拟器提供的截图功能进行截图操作,而是使用电脑操作系统提供的截图功能进行截图操作。在这种情况下,截图完成之后,截图的数据需要从电脑操作系统拷贝到模拟器的客户操作系统的“图库”应用程序中,在用户想要分享截图时,也是与前述分享截图过程一样,需要用户先选择“图库”应用程序中保存的截图,选择完成后再触发分享操作,整个过程操作也是较为复杂,用户体验差。
总之, 当前模拟器提供的截图功能较为单一,无法做到像电脑操作系统提供的截图功能那样能够进行截图区域的自由选取,也无法截取超出应用程序的整个用户界面之外的图像,且对截图的编辑功能单一,分享截图过程较为复杂,作为生态融合场景下的产品,无法充分利用电脑操作系统提供的强大截图功能的优势, 电脑操作系统和移动操作系统的应用程序融合体验较差。
基于上述问题,本申请实施例提供了一种截图分享方法,应用于电子设备100, 电子设备100可以安装有宿主操作系统(也可以称为第一操作系统),在宿主操作系统之上可以加载有客户操作系统(也可以称为第二操作系统),电子设备100在检测到用户触发显示截图界面的操作之后,可以通过宿主操作系统来支持用户自由进行任意区域的图像截取操作、对图像的编辑操作等,进而生成截屏图像(即截图),并将该截屏图像的信息保存到宿主操作系统的剪贴板中,之后,宿主操作系统可以将该截屏图像的信息共享到客户操作系统的剪贴板中,以供客户操作系统的应用程序使用,从而达到客户操作系统的应用程序可以直接粘贴该截屏图像的效果,对于客户操作系统的社交类应用程序,还可以达到一键式跨系统截图分享的效果, 简化用户操作,提高用户体验。
需要说明的是,本申请实施例对宿主操作系统和客户操作系统的操作系统类型并不作任何限制。本申请实施例仅仅以宿主操作系统是操作系统,客户操作系统是操作系统为例,来阐述本申请实施例的内容。本领域技术人员可以理解,本申请实施例也可以以其他操作系统来实现,本申请对此不作任何限制。
本申请实施例中的电子设备100可以称为宿主机。电子设备100可以是台式电脑、笔记本电脑等,本申请实施例对此不作限定。电子设备100上可以安装有宿主操作系统,在宿主操作系统之上可以加载有客户操作系统。其中,宿主操作系统可以包括但不限于操作系统、/>操作系统,客户操作系统可以包括但不限于/>操作系统、/>操作系统。
本申请实施例提供的截图分享方法可以是通过在电脑(即宿主机)上安装模拟器来实现。本申请实施例对模拟器的类型不作限定。
在一些示例中,上述模拟器可以是华为的移动应用引擎。
下面结合图2A-图2E示例性地介绍实施本申请实施例提供的截图分享方法的过程中涉及的一组用户界面。
图2A-图2B示例性示出了本申请实施例提供的截图分享方法在截图过程涉及的一组用户界面。
参阅图2A,用户界面210(即截图界面)可以是本申请实施例提供的截图分享方法在截图过程涉及的一个用户界面。
本申请实施例提供的截图分享方法是利用宿主操作系统的截图功能来完成截图过程的,其中,宿主操作系统的截图功能可以是系统自带的(例如系统应用程序提供的),也可以是宿主操作系统安装的第三方应用程序提供的,本申请实施例对此不作限定。
本申请实施例对用户触发显示图2A示例性所示的用户界面210的方式不作限定。例如,可以是通过电子设备100的键盘上的快捷键触发的;又例如,也可以是通过电子设备100的触摸屏或触控板或鼠标触发的;再例如,还可以是用户的语音指令操作或隔空手势触发的;等等。
在一些示例中,图2A示例性所示的用户界面210可以是用户针对图1B示例性所示的窗口120中的“截屏”选项进行操作(例如点击操作)之后触发显示的。
继续参阅图2A,用户界面210中可以包括截图区域220、窗口230。
其中,截图区域220可以由用户自由选取,也即是说,用户在触发显示用户界面210之后,宿主操作系统可以支持用户在用户界面210中自由选取截图区域,灵活便捷,提高用户体验。例如,如图2A所示,不仅可以支持用户截取客户操作系统的应用程序的用户界面(例如图2A中的截图区域220中的“阅读”应用程序的用户界面),还可以支持用户截取宿主操作系统显示的任意用户界面(例如图2A中的截图区域220中除“阅读”应用程序的用户界面之外的空白用户界面,即桌面的一部分用户界面)。
以截图区域220为例,用户选取截图区域之后,截图区域220的四条边界线上可以显示有多个边界点(也可以称为标记点),例如边界点221、边界点222、边界点223、边界点224、边界点225、边界点226、边界点227、边界点228。这些边界点可以用于调整截图区域220的大小。用户可以通过拖动这些边界点来对截图区域220向不同方向进行扩大或缩小。
边界点221可以用于用户对截图区域220向左上方进行扩大或向右下方进行缩小。例如,用户可以向左上方拖动边界点221来对截图区域220向左上方进行扩大;又例如,用户可以向右下方拖动边界点221来对截图区域220向右下方进行缩小。
边界点222可以用于用户对截图区域220向正上方进行扩大或向正下方进行缩小。例如,用户可以向正上方拖动边界点222来对截图区域220向正上方进行扩大;又例如,用户可以向正下方拖动边界点222来对截图区域220向正下方进行缩小。
边界点223可以用于用户对截图区域220向右上方进行扩大或向左下方进行缩小。例如,用户可以向右上方拖动边界点223来对截图区域220向右上方进行扩大;又例如,用户可以向左下方拖动边界点223来对截图区域220向左下方进行缩小。
边界点224可以用于用户对截图区域220向正右方进行扩大或向正左方进行缩小。例如,用户可以向正右方拖动边界点224来对截图区域220向正右方进行扩大;又例如,用户可以向正左方拖动边界点224来对截图区域220向正左方进行缩小。
边界点225可以用于用户对截图区域220向右下方进行扩大或向左上方进行缩小。例如,用户可以向右下方拖动边界点225来对截图区域220向右下方进行扩大;又例如,用户可以向左上方拖动边界点225来对截图区域220向左上方进行缩小。
边界点226可以用于用户对截图区域220向正下方进行扩大或向正上方进行缩小。例如,用户可以向正下方拖动边界点226来对截图区域220向正下方进行扩大;又例如,用户可以向正上方拖动边界点226来对截图区域220向正上方进行缩小。
边界点227可以用于用户对截图区域220向左下方进行扩大或向右上方进行缩小。例如,用户可以向左下方拖动边界点227来对截图区域220向左下方进行扩大;又例如,用户可以向右上方拖动边界点227来对截图区域220向右上方进行缩小。
边界点228可以用于用户对截图区域220向正左方进行扩大或向正右方进行缩小。例如,用户可以向正左方拖动边界点228来对截图区域220向正左方进行扩大;又例如,用户可以向正右方拖动边界点228来对截图区域220向正右方进行缩小。
其中,窗口230中可以包括一个或多个选项,例如,选项231、选项232、选项233、选项234、选项235、选项236、选项237、选项238、选项239、选项240。
选项231可以用于在截图区域220添加方框标注,自由框选截图区域220中的任意区域。
选项232可以用于在截图区域220添加椭圆框标注,自由框选截图区域220中的任意区域。
选项233可以用于在截图区域220添加箭头标注。
选项234可以用于在截图区域220添加画笔标注(例如荧光笔标注)。
选项235可以用于在截图区域220添加马赛克标注。
选项236可以用于在截图区域220添加文字标注。
选项237可以用于撤销在截图区域220添加的标注。
选项238可以用于保存截图区域220的截屏图像(包括屏幕显示的用户界面以及用户添加的标注),即将截图区域220的截屏图像另存为一个可自定义文件名的文件。
选项239可以用于退出截图,即取消显示当前的截图界面,且不会保存截图区域220的截屏图像,也不会将截图区域220的截屏图像保存到剪贴板中。
选项240可以用于完成截图,即取消显示当前的截图界面,且将截图区域220的截屏图像保存到剪贴板中。
也即是说,窗口230中的这些选项可以用于支持用户在截图区域220进行多种编辑操作,因此,可以满足用户的个性化需求。
示例性地,参阅图2B,可以看出,用户在截图区域进行了多种编辑操作,例如,添加了画笔标注、方框标注、文本标注。进一步地,如果用户想要将图2B中的截屏图像保存到剪贴板中,那么,电子设备100可以检测到用户针对图2B中的选项240的操作(例如点击操作),响应于该操作,电子设备100可以将图2B中的截屏图像保存到剪贴板。
参阅图2C,图2C示例性所示的图片250可以为上述图2A-图2B所示的截图过程生成的截屏图像。可以看出,与前述图1C中的图片130不同的是,该图片250中不仅包括了截取的客户操作系统的应用程序的用户界面,还包括了客户操作系统的应用程序的用户界面之外的用户界面,还包括了用户添加的标注。这样,充分利用了宿主操作系统提供的强大的截图编辑功能,从而可以满足用户的个性化需求,提高用户体验。
图2D-图2E示例性示出了本申请实施例提供的截图分享方法在分享截图过程涉及的一组用户界面。
以电子设备100通过客户操作系统的“聊天”应用程序(即具备社交功能的一个应用程序)分享上述图2C示例性所示的图片250为例。不限于此,还可以是其他具备分享截图能力的应用程序,本申请实施例对此不作限定。
参阅图2D,用户界面260可以为客户操作系统的“聊天”应用程序的一个用户界面。可以看出,该用户界面可以为用户与其好友Lily的聊天界面。
在本申请实施例中,在用户完成上述图2A-图2B所示的截图过程之后,电子设备100可以自动完成跨系统的剪贴板内容共享(即将宿主操作系统的剪贴板中的内容共享至客户操作系统的剪贴板中),即电子设备100可以把宿主操作系统的剪贴板保存的图2A-图2B所示的截图过程生成的截屏图像的信息共享到客户操作系统的剪贴板中。
其中,上述“电子设备100自动完成跨系统的剪贴板内容共享”的具体实现过程在后续实施例中会详细介绍,在此先不展开。
继续参阅图2D,在自动完成跨系统的剪贴板内容共享之后,电子设备100可以基于上述宿主操作系统共享过来的截图图像的信息自动在用户界面260中触发显示悬浮窗口261,该窗口中可以包括用户可能要发送的图片,该图片可以为通过宿主操作系统生成的截屏图像,例如上述图2C示例性所示的图片250。
继续参阅图2D,如果用户想要向其好友Lily分享悬浮窗口261中的图片250,那么,电子设备100可以检测到用户针对悬浮窗口261的操作(例如针对悬浮窗口261中的图片250的点击操作),响应于该操作,电子设备100可以通过“聊天”应用程序向好友Lily的电子设备发送图片250,并在用户界面260中显示图2E示例性所示的聊天消息271,该聊天消息可以为用户向其好友Lily分享图片250的消息。至此,完成了分享截图的过程。
上述是以用户针对悬浮窗口进行操作的方式来触发截图的发送,在一些示例中,触发截图的发送也可以是其他方式,例如,用户直接在输入框中通过右击鼠标等操作触发显示粘贴选项,并点击粘贴选项,就可以在输入框中显示截图,然后用户再点击发送选项,从而完成分享截图的过程;又例如,用户也可以直接通过键盘上的快捷键来在输入框中粘贴截图,这样,就可以在输入框中显示截图,然后用户再点击发送选项,从而完成分享截图的过程。
从图2D-图2E所示的分享截图过程可以看出,与前述图1D-图1G所示的分享截图过程不同的是,在完成截图过程之后,用户不再需要手动在“图库”应用程序中选择要分享的截屏图像,而是电子设备100可以自动触发截图分享动作(例如自动触发显示图2D所示的悬浮窗口261),这样,用户只需一步操作(例如针对悬浮窗口261中的图片250的点击操作) 即可完成分享截图过程,达到一键式分享截图的效果,简化用户操作,提高用户体验。
在一些示例中,在上述图2D-图2E所示的分享截图的过程中,电子设备100也可以只显示上述用于分享截图的“聊天”应用程序的用户界面,而不显示其他应用程序的用户界面(例如“阅读”应用程序的用户界面)。
在本申请实施例中,电子设备100可以同时显示客户操作系统的多个应用程序的用户界面,上述图2A-图2E仅仅是以截取客户操作系统的一个应用程序的用户界面为例来说明实施本申请实施例提供的截图分享方法的过程的,容易理解,本申请实施例提供的截图分享方法也可以适用于截取客户操作系统的多个应用程序的用户界面的场景。下面结合图3A-图3F以截取客户操作系统的两个应用程序的用户界面为例来说明实施本申请实施例提供的截图分享方法的过程。
下面结合图3A-图3F示例性地介绍实施本申请实施例提供的截图分享方法的过程中涉及的另一组用户界面。
图3A-图3C示例性示出了本申请实施例提供的截图分享方法在截图过程涉及的另一组用户界面。
参阅图3A,用户界面310可以是客户操作系统的一个应用程序的用户界面(例如“购物 1”应用程序的用户界面),用户界面320可以客户操作系统的另一个应用程序的用户界面(例如“购物2”应用程序)。
如果用户想要截图,那么,电子设备100可以检测到用户触发显示截图界面的操作,响应于该操作,电子设备100可以显示图3B示例性所示的用户界面330。
参阅图3B,用户界面330(即截图界面)可以是本申请实施例提供的截图分享方法在截图过程涉及的一个用户界面。
本申请实施例提供的截图分享方法是利用宿主操作系统的截图功能来完成截图过程的,其中,宿主操作系统的截图功能可以是系统自带的(例如系统应用程序提供的),也可以是宿主操作系统安装的第三方应用程序提供的,本申请实施例对此不作限定。
本申请实施例对上述“用户触发显示截图界面的操作”的实现方式不作限定。例如,可以是用户通过电子设备100的键盘上的快捷键来触发显示截图界面的操作;又例如,也可以是用户通过电子设备100的触摸屏或触控板或鼠标来触发显示截图界面的操作;再例如,还可以是用户的语音指令或隔空手势来触发显示截图界面的操作;等等。
在一些示例中,由于用户界面310和用户界面320与前述图1A所示的用户界面113类似,也可以通过操作选项114来显示图1B所示的窗口120中的“截屏”选项,因此,上述“用户触发显示截图界面的操作”也可以是用户针对用户界面310或用户界面320上显示的窗口120中的“截屏”选项的操作(例如点击操作)。
继续参阅图3B,用户界面330中可以包括截图区域340、窗口350。
其中,截图区域340可以由用户自由选取,也即是说,用户在触发显示用户界面330之后,宿主操作系统可以支持用户在用户界面330中自由选取截图区域,灵活便捷,提高用户体验。例如,如图3B所示,不仅可以支持用户截取客户操作系统的应用程序的用户界面(例如图3B中的截图区域340中的“购物1”应用程序的用户界面和“购物2”应用程序的用户界面),还可以支持用户截取宿主操作系统显示的任意用户界面(例如图3B中的截图区域340 中除“购物1”应用程序的用户界面和“购物2”应用程序的用户界面之外的空白用户界面,即桌面的一部分用户界面)。
以截图区域340为例,用户选取截图区域之后,截图区域340的四条边界线上可以显示有多个边界点(也可以称为标记点),这些边界点可以用于调整截图区域340的大小。用户可以通过拖动这些边界点来对截图区域340向不同方向进行扩大或缩小。
其中,关于截图区域340的每一个边界点的具体功能,可以参照前述关于截图区域220 的每一个边界点的相关文字描述,在此不再赘述。
窗口350中的选项可以用于支持用户在截图区域340进行多种编辑操作。
其中,关于窗口350中的每一个选项的具体功能,可以参照前述关于窗口230的每一个选项的相关文字描述,在此不再赘述。
示例性地,参阅图3C,可以看出,用户在截图区域进行了多个编辑操作,例如,用户在截图区域的“购物1”应用程序中添加了方框标注,在截图区域的“购物1”应用程序中也添加了方框标注。进一步地,如果用户想要将图3C中的截屏图像保存到剪贴板中,那么,电子设备100可以检测到用户针对图3C中的选项351的操作(例如点击操作),响应于该操作,电子设备100可以将图3C中的截屏图像保存到剪贴板。
参阅图3D,图3D示例性所示的图片360可以为上述图3A-图3C所示的截图过程生成的截屏图像。可以看出,与前述图1C中的图片130不同的是,该图片360中不仅包括了截取的客户操作系统的多个应用程序的用户界面,还包括了客户操作系统的应用程序的用户界面之外的用户界面,还包括了用户添加的标注。这样,充分利用了宿主操作系统提供的强大的截图编辑功能,从而可以满足用户的个性化需求,提高用户体验。
图3E-图3F示例性示出了本申请实施例提供的截图分享方法在分享截图过程涉及的另一组用户界面。
以电子设备100通过客户操作系统的“聊天”应用程序(即具备社交功能的一个应用程序)分享上述图3D示例性所示的图片360为例。不限于此,还可以是其他具备分享截图能力的应用程序,本申请实施例对此不作限定。
参阅图3E,用户界面370可以为客户操作系统的“聊天”应用程序的一个用户界面。可以看出,该用户界面可以为用户与其好友Lily的聊天界面。
在本申请实施例中,在用户完成上述图3A-图3C所示的截图过程之后,电子设备100可以自动完成跨系统的剪贴板内容共享(即将宿主操作系统的剪贴板中的内容共享至客户操作系统的剪贴板中),即电子设备100可以把宿主操作系统的剪贴板保存的图3A-图3C所示的截图过程生成的截屏图像的信息共享到客户操作系统的剪贴板中。
其中,上述“电子设备100自动完成跨系统的剪贴板内容共享”的具体实现过程在后续实施例中会详细介绍,在此先不展开。
继续参阅图3E,在自动完成跨系统的剪贴板内容共享之后,电子设备100可以基于上述宿主操作系统共享过来的截图图像的信息自动在用户界面370中触发显示悬浮窗口371,该窗口中可以包括用户可能要发送的图片,该图片可以为通过宿主操作系统生成的截屏图像,例如上述图3D示例性所示的图片360。
继续参阅图3E,如果用户想要向其好友Lily分享悬浮窗口371中的图片360,那么,电子设备100可以检测到用户针对悬浮窗口371的操作(例如针对悬浮窗口371中的图片360的点击操作),响应于该操作,电子设备100可以通过“聊天”应用程序向好友Lily的电子设备发送图片360,并在用户界面370中显示图3F示例性所示的聊天消息381,该聊天消息可以为用户向其好友Lily分享图片360的消息。至此,完成了分享截图的过程。
上述是以用户针对悬浮窗口进行操作的方式来触发截图的发送,在一些示例中,触发截图的发送也可以是其他方式,例如,用户直接在输入框中通过右击鼠标等操作触发显示粘贴选项,并点击粘贴选项,就可以在输入框中显示截图,然后用户再点击发送选项,从而完成分享截图的过程;又例如,用户也可以直接通过键盘上的快捷键来在输入框中粘贴截图,这样,就可以在输入框中显示截图,然后用户再点击发送选项,从而完成分享截图的过程。
从图3E-图3F所示的分享截图过程可以看出,与前述图1D-图1G所示的分享过程不同的是,在完成截图过程之后,用户不再需要手动在“图库”应用程序中选择要分享的截屏图像,而是电子设备100可以自动触发截图分享动作(例如自动触发显示图3E所示的悬浮窗口 371),这样,用户只需一步操作(例如针对悬浮窗口371中的图片360的点击操作)即可完成分享截图过程,达到一键式分享截图的效果,简化用户操作,提高用户体验。
在一些示例中,在上述图3E-图3F所示的分享截图的过程中,电子设备100也可以只显示上述用于分享截图的“聊天”应用程序的用户界面,而不显示其他应用程序的用户界面(例如“购物1”应用程序的用户界面和“购物2”应用程序的用户界面)。
容易理解,在本申请实施例中,用户可以截取电子设备100上显示的任意用户界面,在上述图2A-图2B,图3A-图3C中,仅仅以用户截取客户操作系统的打开的应用程序的用户界面及宿主操作系统的桌面为例,不限于此,用户也可以截取其他用户界面,例如,宿主操作系统的应用程序的用户界面,本申请实施例对此不作限定。
下面介绍本申请实施例提供的一种截图分享方法的具体流程。
图4示例性示出了本申请实施例提供的一种截图分享方法的具体流程。
参阅图4,该方法可以应用于电子设备100。其中,电子设备100可以安装有宿主操作系统,在宿主操作系统之上可以加载有客户操作系统。下面详细介绍该方法的具体步骤:
S401-S403、宿主操作系统检测到用户触发显示截图界面的操作,响应于该操作,宿主操作系统可以显示截图界面,并检测到用户在截图界面的截图操作,响应于该操作,宿主操作系统生成截屏图像1,并将截屏图像1的信息保存到宿主操作系统的剪贴板中。
其中,上述“用户触发显示截图界面的操作”可以是用户通过电子设备100的键盘上的快捷键来触发显示截图界面的操作,也可以是用户通过电子设备100的触摸屏或触控板或鼠标来触发显示截图界面的操作,还可以是用户的语音指令或隔空手势来触发显示截图界面的操作,等等,本申请实施例对此不作限定。
其中,上述“截图界面”可以是用于进行截图操作的用户界面(例如图2A中的用户界面210,或,图3B中的用户界面330)。
其中,上述“截图操作”可以是用户选取截图区域(例如选取图2A中的截图区域220,或,选取图3B中的截图区域340)并完成截图(例如点击图2B中的选项240,或,点击图3C中的选项351)的操作;或,用户选取截图区域,并对截图区域的图像进行编辑操作(例如添加方框标注、添加椭圆框标注、添加箭头标注、添加画笔标注、添加马赛克标注、添加文字标注等操作),之后再完成截图的操作。
其中,上述“截屏图像1”可以是用户进行截图操作后生成的(例如图2C中的图片250,或,图3D中的图片360)。
在生成截图图像1之后,宿主操作系统可以把该截屏图像1的信息保存到宿主操作系统的剪贴板中。
其中,上述“截屏图像1的信息”可以包括截屏图像1的图像数据、描述信息(例如数据名称、数据类型、数据大小、数据生成时间等信息)等。
在一些示例中,将截屏图像1的信息保存到宿主操作系统的剪贴板中,具体可以是将截屏图像1的图像数据保存到宿主操作系统的剪贴板中。其中,截屏图像1的图像数据可以是截屏图像1的原图的图像数据。
S404-S405、宿主操作系统判断剪贴板中最新保存的内容是否为图片,若是,则将截屏图像1的信息保存到共享文件夹中,若否,则不再执行后续步骤。
具体地,宿主操作系统可以实时监测其剪贴板中的内容是否发生变化,在监测到其剪贴板中的内容发生变化时,宿主操作系统可以判断剪贴板中最新保存的内容是否为图片,以剪贴板中最新保存的内容是上述截屏图像1为例,宿主操作系统可以确定截屏图像1是图片,之后,宿主操作系统可以将截屏图像1的信息保存到共享文件夹中。
其中,上述共享文件夹可以是宿主操作系统和客户操作系统均有权访问的文件夹。
其中,上述共享文件夹可以是宿主操作系统中的一个文件夹,也可以是客户操作系统中的一个文件夹。上述共享文件夹中的数据可以是由共享数据存储模块来进行存储,关于共享数据存储模块会在下述实施例中进行介绍,在此先不展开。
在本申请实施例中,上述客户操作系统和宿主操作系统进行文件共享可以是基于共享文件夹的文件系统服务来实现的,例如,该文件系统服务可以是9p-virtio(Plan 9foldersharingoverVirtio-I/O virtualization framework)。
在宿主操作系统确定剪贴板中最新保存的内容不是图片的情况下,宿主操作系统可以不再执行后续步骤。
S406、宿主操作系统向客户操作系统发送消息1,该消息用于指示客户操作系统获取截屏图像1的信息。
具体地,宿主操作系统在将截屏图像1的信息保存到共享文件夹中之后,可以向客户操作系统发送消息1,该消息用于指示客户操作系统获取截屏图像1的信息。
也即是说,宿主操作系统可以通过发送消息1来向客户操作系统通知宿主操作系统的剪贴板中有新保存的内容向客户操作系统分享,客户操作系统可以从共享文件夹中来获取宿主操作系统的剪贴板中新保存的内容。
其中,上述消息1可以是通过进程间通信(Inter-Process Communication,IPC)来发送的消息。在本申请实施例中,进程间通信可以是利用管道(Pipe)的方式来实现的,不限于此,还可以是其他方式,本申请实施例对此不作限定。
S407-S408、客户操作系统获取截屏图像1的信息。之后,客户操作系统将截屏图像1的信息保存到客户操作系统的剪贴板中。
具体地,客户操作系统在接收到宿主操作系统发送的上述消息1之后,可以基于上述消息1来获取截屏图像1的信息,例如,从电子设备100的共享文件夹中获取截屏图像1的信息。在获取到截屏图像1的信息之后,客户操作系统可以将截屏图像1的信息保存到客户操作系统的剪贴板中,以便后续客户操作系统的应用程序可以使用。
在一些示例中,将截屏图像1的信息保存到客户操作系统的剪贴板中,具体可以是将截屏图像1的图像数据保存到客户操作系统的剪贴板中。其中,截屏图像1的图像数据可以是截屏图像1的原图的图像数据。
S409-S410、客户操作系统判断剪贴板中最新保存的内容是否为图片,若是,则扫描截屏图像1在共享文件夹中的路径,并基于上述路径将截屏图像1的信息插入到媒体数据库中,若否,则不再执行后续步骤。
具体地,客户操作系统可以实时监测其剪贴板中的内容是否发生变化,在监测到其剪贴板中的内容发生变化时,客户操作系统可以判断剪贴板中最新保存的内容是否为图片,以剪贴板中最新保存的内容是上述截屏图像1为例,客户操作系统可以确定截屏图像1是图片,之后,客户操作系统可以扫描截屏图像1在共享文件夹中的路径,并且可以基于上述路径将截屏图像1的信息插入到媒体数据库中,即将截屏图像1的信息作为一条数据库记录插入到媒体数据库中。
在一些示例中,客户操作系统基于上述路径将截屏图像1的信息插入到媒体数据库中,具体可以是客户操作系统在基于上述路径确定截屏图像1符合预设规则的情况下将截屏图像 1的信息插入到媒体数据库中。
其中,上述“预设规则”可以包括但不限于预设截图规则,其中,“预设截图规则”可以是指用于判断上述保存到剪贴板中的内容是否是截屏图像的预设规则,上述“预设截图规则”可以包括但不限于:截屏图像1的命名中包括特定的关键字(例如“screenshot”等关键字)、截屏图像1的时间戳信息(即截屏图像1生成的时间戳信息)中记录的时间点与当前时间点 (即扫描截屏图像1的路径的时间点)的时间间隔在某一预设时间间隔(例如10秒、20秒等等)内。
其中,媒体数据库的数据表中可以用多个字段来记录数据,这多个字段可以包括但不限于:_id(即插入媒体数据库的序号,从1开始递增)、_data(文件的绝对路径)、_size(文件的大小)、_display_name(带扩展名的文件名)、mime_type(多用途互联网邮件扩展类型,由两部分组成:数据大类别/大类别下的具体类别)、title(不带扩展名的文件名)。
示例性地,假设上述“截屏图像1的信息”插入到媒体数据库时媒体数据库中已存在1 条记录,那么,上述“截屏图像1的信息”对应记录的_id则为2,假设上述“截屏图像1”的绝对路径为/storage/emulated/0/PC共享文件夹/Screenshot/Screenshot_20220429_161813.png,大小为359238KB,则上述“截屏图像1的信息”对应记录的_data则为“/storage/emulated/0/PC 共享文件夹/Screenshot/Screenshot_20220429_161813.png”,_size则为“359238”,_display_name 则为“Screenshot_20220429_161813.png”,mime_type则为“image/png”,title则为“Screenshot_20220429_161813”。
在客户操作系统确定剪贴板中最新保存的内容不是图片的情况下,客户操作系统可以不再执行后续步骤。
在一些示例中,将截屏图像1的信息插入到媒体数据库中,具体可以是将截屏图像1的描述信息(例如数据名称、数据类型、数据大小、数据生成时间等信息)插入到媒体数据库中,从而生成一条数据库记录,以便后续应用程序可以监测到媒体数据库中插入了一条新的数据库记录。
S411、客户操作系统检测到用户打开客户操作系统的应用程序1的用户界面1的操作。
其中,应用程序1可以是以社交类应用程序(例如前述“聊天”应用程序)为例,应用程序1的用户界面1可以是应用程序1的用于与好友聊天的一个用户界面(例如前述图2D 中的“聊天”应用程序的用户界面260,或,图3E中的“聊天”应用程序的用户界面370)。
容易理解,本申请实施例提出的截图分享方法在上述应用程序1的用户界面1具备分享截图的条件下才可以执行,其中,“分享截图的条件”可以包括但不限于:应用程序1的用户界面1中显示有输入框,显示有能够用于进行文件分享的控件,等等。
需要说明的是,本申请实施例对上述步骤S411的执行时间顺序不作限定。例如,上述步骤S411可以在用户完成截图操作之后就执行,也可以是在用户在触发显示截图界面的操作之前执行。
S412、应用程序1从客户操作系统的剪贴板中获取截屏图像1的信息。
具体地,由于客户操作系统已经把截屏图像1的信息保存到客户操作系统的剪贴板中了,因此,在检测到用户打开客户操作系统的应用程序1的用户界面1的操作之后,应用程序1 可以从客户操作系统的剪贴板中获取截屏图像1的信息。
在一些示例中,在应用程序1处于运行状态或应用程序1在显示用户界面1等情况下,应用程序1可以监测客户操作系统的媒体数据库中的内容是否发生变化,在确定媒体数据库中的内容发生变化的情况下,应用程序1可以再从客户操作系统的剪贴板中获取上述发生变化的内容。假设发生变化的内容(即最新插入媒体数据库中的内容)为前述截屏图像1的信息,由于客户操作系统已经把截屏图像1的信息保存到客户操作系统的剪贴板中了,因此,应用程序1可以从客户操作系统的剪贴板中获取截屏图像1的信息。
可以理解的是,客户操作系统在把截屏图像1的信息保存到剪贴板中之后,还可以将截屏图像1的信息插入到媒体数据库中是为了自动触发截图分享动作。因为应用程序1可以监测媒体数据库中的内容是否发生变化,这样,在监测到媒体数据库中的内容发生变化的情况下,应用程序1就可以触发显示一个悬浮窗口(例如下述步骤S413所示的悬浮窗口1),即自动触发截图分享动作,从而可以达到一键式分享截图的目的。
在一些示例中,在上述“应用程序1从客户操作系统的剪贴板中获取截屏图像1的信息”之前,应用程序1还可以判断媒体数据库中发生变化的内容是否符合预设规则(例如预设截图规则),若是,再从客户操作系统的剪贴板中获取截屏图像1的信息,若否,则不从客户操作系统的剪贴板中获取截屏图像1的信息,也不再执行后续步骤。
其中,上述预设规则可以包括但不限于:截屏图像1的命名中包括特定的关键字(例如“screenshot”等关键字)、截屏图像1的时间戳信息(例如“20220429_161813”)中记录的时间点与当前时间点(即应用程序1判断媒体数据库中发生变化的内容是否符合预设规则的时间点)的时间间隔在某一预设时间间隔(例如10秒、20秒等等)内。
S413、应用程序1在用户界面1中显示悬浮窗口1,该窗口是基于截屏图像1生成的。
具体地,应用程序1从客户操作系统的剪贴板中获取截屏图像1的信息之后,可以在用户界面1中基于截屏图像1生成并显示悬浮窗口1。
示例性地,上述悬浮窗口1可以是图2D中的悬浮窗口261,截屏图像1可以是图2C中的图片250。
示例性地,上述悬浮窗口1也可以是图3E中的悬浮窗口371,截屏图像1可以是图3D中的图片360。
需要说明的是,上述悬浮窗口1中显示的图像可以是截屏图像1的缩略图,也可以是截屏图像1的原图,本申请实施例对此不作限定。容易理解,截屏图像1的缩略图也是基于剪贴板中保存的截屏图像1的图像数据生成的。
S414-S415、客户操作系统检测到用户针对悬浮窗口1的操作,响应于该操作,客户操作系统可以向电子设备200(例如好友的电子设备)发送截屏图像1。
容易理解,客户操作系统向电子设备200(例如好友的电子设备)发送截屏图像1,具体可以是客户操作系统通过电子设备100提供的硬件通信模块来向电子设备200(例如好友的电子设备)发送截屏图像1的。
通过实施上述图4所示实施例提供的方法,在电子设备100安装有宿主操作系统,且在宿主操作系统之上加载有客户操作系统的情况下,电子设备100在检测到用户触发截图操作之后,可以通过宿主操作系统来支持用户自由进行任意区域的图像截取操作、对图像的编辑操作等,进而生成截屏图像,进一步地,电子设备100可以将该截屏图像的信息保存到宿主操作系统的剪贴板中,之后,宿主操作系统还可以将该截屏图像的信息共享到客户操作系统的剪贴板中,实现跨系统的图像传输,整个过程不需要用户手动进行截屏图像数据的保存及拷贝,而且在用户在分享截屏图像时无需复杂的手动选取、分享等步骤,简化用户操作,可以有效提高用户使用模拟器的体验,让用户感知不到生态融合场景下系统之间的差异,提高生态融合产品的竞争力。
在一些示例中,上述图4中的截屏图像1也可以在“图库”应用程序中查看,在这种情况下,用户在向好友分享上述截屏图像1时,也可以与前述图1D-图1G所示的分享截图过程那样,先在“图库”应用程序中选取上述截屏图像1,然后再分享上述截屏图像1。其中,“图库”应用程序可以是基于媒体数据库中记录的上述截屏图像1的信息来获取到上述截屏图像 1在共享文件夹中的路径并显示上述截屏图像1的。
在一些示例中,上述图4中的截屏图像1的信息也可以是宿主操作系统通过前述步骤 S406中的消息1发送至客户操作系统的,也即是说,消息1中可以包括截屏图像1的信息。在这种情况下,客户操作系统接收到消息1之后,可以将消息1中包括的截屏图像1的信息保存到其剪贴板中,在确定上述截屏图像1的信息符合预设截图规则之后,将其插入到媒体数据库中,然后再执行后续步骤。可选地,在上述情况下,宿主操作系统也可以不把截屏图像1的信息保存到共享文件夹中。
在一些示例中,如果用户利用宿主操作系统复制了一段纯文本,宿主操作系统可以把该文本保存到剪贴板中,并确定剪贴板中最新保存的内容不是图片,而是文本,在这种情况下,宿主操作系统也可以将该文本的信息发送至客户操作系统,例如,以IPC消息的形式发送至客户操作系统,客户操作系统可以将该文本保存到剪贴板中,这样,客户操作系统的应用程序则可以直接利用该文本。
下面介绍本申请实施例提供的一种电子设备100的软件结构。
图5示例性示出了本申请实施例中提供的一种电子设备100的软件结构。
如图5所示,电子设备100的软件结构可以包括用户空间和内核空间。本申请实施例以宿主操作系统是操作系统为例,示例性说明电子设备100的软件结构。需要说明的是,本申请实施例仅以/>操作系统为示例说明本申请实施例的技术方案所需的软件环境,本领域技术人员可以理解,本申请实施例也可以以其他操作系统来实现。
用户空间可以包括:截屏应用程序、剪贴板管理模块(ClipboardManager)、剪贴板服务模块(ClipboardService)、剪贴板倾听模块(ClipboardListener)。其中:
截屏应用程序可以是能够提供截屏功能的应用程序。该应用程序可以是系统自带的应用程序,也可以是系统安装的第三方应用程序,本申请实施例对此不作限定。
在本申请实施例中,该截屏应用程序可以支持用户自由进行任意区域的图像截取操作、对图像的编辑操作等。
剪贴板管理模块可以用于为应用程序提供调用剪贴板的相关服务的接口。例如,应用程序可以通过调用剪贴板管理模块来获取到下述剪贴板服务模块中保存的内容,实现粘贴功能;又例如,应用程序可以通过调用剪贴板管理模块来将复制的内容保存到下述剪贴板服务模块,实现复制功能。
剪贴板服务模块可以用于提供剪贴板的相关服务。例如,剪贴板服务模块可以保存用户复制的内容(例如文本、截屏图像等);又例如,剪贴板服务模块可以判断用户复制的内容是否为图片(例如截图图像等);再例如,剪贴板服务模块还可以将保存的图片(例如截屏图像等)的信息发送至下述共享数据存储模块,以便共享数据存储模块可以将该图片的信息进行保存;等等。容易理解,将数据保存到剪贴板服务模块中即可以认为将数据保存到剪贴板中。
剪贴板倾听模块可以用于监测剪贴板中的内容是否发生了变化(即剪贴板服务模块中保存的内容是否发生了变化);还可以用于在监测到剪贴板中的内容发生了变化之后通过下述进程间通信模块来向客户操作系统发送IPC消息;等等。
内核空间可以包括:共享数据存储模块、进程间通信模块。其中:
共享数据存储模块可以用于保存共享数据(即宿主操作系统和客户操作系统均有权访问的数据)。例如,共享数据存储模块可以接收剪贴板服务模块发送的图片的信息,并将该图片的信息进行保存。
共享数据存储模块的一部分可以是包含在用户空间的。
容易理解,前述实施例中“共享文件夹”中的文件均可以被保存于共享数据存储模块中。
进程间通信模块可以用于实现两个进程之间进行通信的功能。例如,进程间通信模块可以在剪贴板倾听模块监测到剪贴板中的内容发生了变化之后向客户操作系统发送IPC消息。
下面介绍本申请实施例提供的另一种电子设备100的软件结构。
图6示例性示出了本申请实施例中提供的另一种电子设备100的软件结构。
如图6所示,电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以客户操作系统是分层架构的操作系统为例,示例性说明电子设备100的软件结构。需要说明的是,本申请实施例仅以/>操作系统为示例说明本申请实施例的技术方案所需的软件环境,本领域技术人员可以理解,本申请实施例也可以以其他操作系统来实现。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些示例中,将操作系统分为四层,从上至下分别为应用程序层,应用程序框架层,系统服务层,以及内核层。
应用程序层可以包括一系列应用程序包。
如图6所示,应用程序包可以包括相机,图库,日历,通话,地图,聊天,WLAN,蓝牙,音乐,视频,短信息等应用程序。
其中,聊天应用程序可以是一个社交类应用程序,可以实现多种功能。例如,可以用于用户向使用该应用程序的其他用户进行数据分享(例如进行图片、文字等数据的分享);又例如,可以用于用户接收使用该应用程序的其他用户分享过来的数据(例如图片、文字等数据);再例如,聊天应用程序也可以监测媒体数据库中内容的变化;还例如,聊天应用程序可以读取剪贴板中的信息;等等。
需要说明的是,聊天应用程序的名称仅为本申请实施例所使用的词语,其代表的含义在本申请实施例中已经记载,其名称并不能对本申请实施例构成任何限制。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图6所示,应用程序框架层可以包括窗口管理器,视图系统,资源管理器,通知管理器,剪贴板管理模块(ClipboardManager)等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音等。
剪贴板管理模块(ClipboardManager)可以用于为应用程序提供调用剪贴板的相关服务的接口。例如,应用程序可以通过调用剪贴板管理模块来获取到下述剪贴板服务模块中保存的内容,实现粘贴功能;又例如,应用程序可以通过调用剪贴板管理模块来将复制的内容保存到下述剪贴板服务模块,实现复制功能。
系统服务层可以包括多个功能模块。例如:表面管理器(Surface Manager),三维图形处理库(例如:OpenGL ES),二维图形引擎(例如:SGL),剪贴板服务模块(ClipboardService),媒体扫描服务模块(MediaScannerService),媒体数据库(MediaDatabase)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
二维图形引擎是2D绘图的绘图引擎。
剪贴板服务模块可以用于提供剪贴板的相关服务。例如,剪贴板服务模块可以获取并保存共享数据存储模块中的共享数据(例如截屏图像等);又例如,剪贴板服务模块可以判断获取到的共享数据存储模块中的共享数据是否为图片(例如截图图像等);再例如,剪贴板服务模块可以在确定获取到的共享数据存储模块中的共享数据是图片的情况下通知下述媒体扫描服务模块来对共享数据存储模块中的共享数据的路径进行扫描操作;等等。容易理解,将数据保存到剪贴板服务模块中即可以认为将数据保存到剪贴板中。
媒体扫描服务模块可以用于对媒体文件进行扫描操作。例如,媒体扫描服务模块可以接收剪贴板服务模块发送的指示消息,并基于该指示消息来对共享数据存储模块中的共享数据的路径进行扫描操作,并将符合预设规则(例如预设截图规则)的共享数据的信息插入到下述媒体数据库中。
媒体数据库可以用于存储媒体文件的信息。例如,可以存储上述符合预设规则的共享数据的信息。
内核层是硬件和软件之间的层。内核层至少包括显示驱动,摄像头驱动,蓝牙驱动,传感器驱动。
在本申请实施例中,内核层还可以包括共享数据存储模块,进程间通信模块。
共享数据存储模块可以用于保存共享数据(即宿主操作系统和客户操作系统均有权访问的数据)。例如,共享数据存储模块可以接收并保存宿主操作系统中的共享数据存储模块同步过来的共享数据的信息。容易理解,前述实施例中“共享文件夹”中的文件均可以被保存于共享数据存储模块中。
进程间通信模块可以用于实现两个进程之间进行通信的功能。例如,进程间通信模块可以接收宿主操作系统发送过来的IPC消息,还可以将该IPC消息发送至剪贴板服务模块。
基于上述图5和图6的软件结构,下面介绍电子设备100在安装有宿主操作系统,且在宿主操作系统之上加载有客户操作系统的情况下实施本申请实施例提供的截图分享方法时各个模块之间的一种可能的协作方式。
图7示例性示出了电子设备100在安装有宿主操作系统,且在宿主操作系统之上加载有客户操作系统的情况下实施本申请实施例提供的截图分享方法时各个模块之间的一种可能的协作方式。
前述图4中的步骤S403执行时,电子设备100的各个模块之间的一种可能的协作方式可以为下述步骤1-步骤2所示的协作方式:
步骤1-步骤2:截屏应用程序在生成截图图像1之后,截屏应用程序可以通过调用宿主操作系统的剪贴板管理模块来将截屏图像1的信息发送到宿主操作系统的剪贴板服务模块中,宿主操作系统的剪贴板服务模块可以保存截屏图像1的信息。
前述图4中的步骤S404-S405执行时,电子设备100的各个模块之间的一种可能的协作方式可以为下述步骤3-步骤4所示的协作方式:
步骤3:宿主操作系统的剪贴板服务模块可以判断上述截屏图像1是否为图片,若是,则将截图图像1的信息发送至宿主操作系统的共享数据存储模块,宿主操作系统的共享数据存储模块可以保存截屏图像1的信息。
步骤4:宿主操作系统的共享数据存储模块可以将上述截屏图像1的信息同步至客户操作系统的共享数据存储模块,客户操作系统的共享数据存储模块可以保存截屏图像1的信息。
在本申请实施例中,宿主操作系统和客户操作系统中都可以存在有共享数据存储模块。在一些示例中,共享数据存储模块也可以只存在于宿主操作系统中,而不存在于客户操作系统,在这种情况下,客户操作系统需要在宿主操作系统的共享数据存储模块中获取截屏图像 1的信息。在另一些示例中,共享数据存储模块也可以只存在于客户操作系统中,而不存在于宿主操作系统,在这种情况下,宿主操作系统在生成截屏图像1之后,可以把截屏图像1 的信息保存到客户操作系统的共享数据存储模块中,之后,客户操作系统可以直接在客户操作系统的共享数据存储模块中获取截屏图像1的信息。
前述图4中的步骤S406执行时,电子设备100的各个模块之间的一种可能的协作方式可以为下述步骤5-步骤8所示的协作方式:
步骤5:宿主操作系统的剪贴板倾听模块实时监测宿主操作系统的剪贴板服务模块中保存的内容是否发生变化。
容易理解,步骤5可以在上述步骤1-步骤4执行时也在同时执行。
步骤6-步骤8:在宿主操作系统的剪贴板倾听模块监测到宿主操作系统的剪贴板服务模块中保存的内容发生变化的情况下,宿主操作系统的剪贴板倾听模块可以通过宿主操作系统的进程间通信模块和客户操作系统的进程间通信模块来向客户操作系统的剪贴板服务模块发送IPC消息,该消息可以用于指示客户操作系统的剪贴板服务模块去获取截屏图像1的信息。
前述图4中的步骤S407-S408执行时,电子设备100的各个模块之间的一种可能的协作方式可以为下述步骤9所示的协作方式:
步骤9:客户操作系统的剪贴板服务模块在客户操作系统的共享数据存储模块中获取截屏图像1的信息,并保存截屏图像1的信息。
容易理解,客户操作系统的剪贴板服务模块保存了截屏图像1的信息之后,客户操作系统的剪贴板中就会存在截图图像1。
前述图4中的步骤S409-S410执行时,电子设备100的各个模块之间的一种可能的协作方式可以为下述步骤10-步骤12所示的协作方式:
步骤10-步骤12:客户操作系统的剪贴板服务模块可以判断上述截屏图像1是否为图片,若是,则可以通知客户操作系统的媒体扫描服务模块扫描客户操作系统的共享数据存储模块中截屏图像1的信息对应的路径,客户操作系统的媒体扫描服务模块通过扫描操作确定上述截屏图像1的信息符合预设规则的情况下,可以将上述截屏图像1的信息插入到客户操作系统的媒体数据库中。
前述图4中的步骤S412-S413执行时,电子设备100的各个模块之间的一种可能的协作方式可以为下述步骤13-步骤15所示的协作方式:
步骤13:客户操作系统的聊天应用程序(即具备社交功能的一个应用程序)可以实时监测媒体数据库中的内容是否发生变化。
在一些示例中,客户操作系统的聊天应用程序也可以不是实时监测媒体数据库中的内容是否发生变化,也可以是在某些条件下再监测媒体数据库中的内容是否发生变化,例如,聊天应用程序被打开,或,触发显示聊天应用程序的聊天界面等条件下再监测媒体数据库中的内容是否发生变化。
步骤14-步骤15:在客户操作系统的聊天应用程序监测到宿主操作系统的媒体数据库中的内容发生变化的情况下,可以触发自动分享动作,例如,在图2D中的用户界面260中显示悬浮窗口261,进一步地,客户操作系统的聊天应用程序可以通过调用客户操作系统的剪贴板管理模块来获取到客户操作系统的剪贴板服务模块中保存的截屏图像1的信息,并基于截屏图像1的信息在上述悬浮窗口261中显示截屏图像1。
下面介绍本申请实施例提供的一种电子设备100的结构。
图8示例性示出了本申请实施例提供的一种电子设备100的结构。
如图8所示,电子设备100可以包括处理器110,内部存储器120,外部存储器接口121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,显示屏151,键盘152,摄像头153,音频模块160,扬声器161,受话器162,麦克风163,耳机接口164,有线通信模块171,无线通信模块172,天线1,传感器模块180 等。传感器模块180可以包括压力传感器180A,指纹传感器180B,温度传感器180C,触摸传感器180D,环境光传感器180E等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些示例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。例如,在一些示例中,在以上所述的硬件之外,电子设备100可能还具有马达,移动通信模块(2G/3G/4G/5G),SIM卡接口,eSIM芯片等等。因此,关于电子设备100的具体硬件结构,可以根据具体情况,包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
处理器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的等待时间,因而提高了系统的效率。
在一些示例中,处理器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)接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。该接口还可以用于连接其他电子设备,例如AR 设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些示例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
内部存储器120可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器120的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器120可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据等。此外,内部存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
外部存储器接口121可以用于连接外部存储卡,例如移动硬盘,实现扩展电子设备100 的存储能力。外部存储卡通过外部存储器接口121与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储硬盘中。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的示例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的示例中,充电管理模块140可以通过电子设备100 的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块 141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器120,外部存储器,显示屏151,摄像头153,和无线通信模块172等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些示例中,电源管理模块141也可以设置于处理器110中。在另一些示例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100通过GPU,显示屏151,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏151和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏151用于显示图像,视频等。显示屏151包括显示面板。显示面板可以采用液晶显示屏(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个显示屏151,N为大于1的正整数。
键盘152可以包括物理键盘、触摸式键盘等。电子设备100可以接收键盘的输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。例如,用户可以通过键盘152 上的快捷键来进行截图操作、粘贴截屏图像的操作,等等。
电子设备100可以通过ISP,摄像头153,视频编解码器,GPU,显示屏151以及应用处理器等实现拍摄功能。
摄像头153用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体 (complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头153,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组 (moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
电子设备100的网络通信功能可以通过有线通信模块171,无线通信模块172,天线1,调制解调处理器以及基带处理器等实现。通过电子设备100的网络通信功能,可以使得电子设备100与其他电子设备进行通信,例如,向其他电子设备(例如好友的电子设备)进行截图分享。
天线1用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些示例中,天线可以和调谐开关结合使用。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器161,受话器162等)输出声音信号,或通过显示屏151显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。
有线通信模块171可以提供应用在电子设备100上的包括以太网、局域网、互联网等有线通信的解决方案。有线通信模块171可以是集成至少一个通信处理模块的一个或多个器件。
无线通信模块172可以提供应用在电子设备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)等无线通信的解决方案。无线通信模块172可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块172经由天线1接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块172还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线1转为电磁波辐射出去。
电子设备100可以通过音频模块160,扬声器161,受话器162,麦克风163,耳机接口164,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块160用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块160还可以用于对音频信号编码和解码。在一些实施例中,音频模块160可以设置于处理器110中,或将音频模块160的部分功能模块设置于处理器110 中。
扬声器161,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器161收听音乐,或收听免提通话。
受话器162,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器162靠近人耳接听语音。
麦克风163,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风163发声,将声音信号输入到麦克风163。电子设备100可以设置至少一个麦克风163。在另一些示例中,电子设备100可以设置两个麦克风163,除了采集声音信号,还可以实现降噪功能。在另一些示例中,电子设备100还可以设置三个,四个或更多麦克风163,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口164用于连接有线耳机。耳机接口164可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
传感器模块180可以包括压力传感器180A,指纹传感器180B,温度传感器180C,触摸传感器180D,环境光传感器180E等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些示例中,压力传感器180A可以设置于显示屏151。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏151,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些示例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。
指纹传感器180B用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180C用于检测温度。在一些示例中,电子设备100利用温度传感器180C检测的温度,执行温度处理策略。例如,当温度传感器180C上报的温度超过阈值,电子设备100执行降低位于温度传感器180C附近的处理器的性能,以便降低功耗实施热保护。在另一些示例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些示例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180D,也称“触控面板”。触摸传感器180D用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏151提供与触摸操作相关的视觉输出。
环境光传感器180E用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏151亮度。环境光传感器180E也可用于摄像头153拍摄时自动调节白平衡。
应当理解的是,图8所示的电子设备100仅是一个范例,并且电子设备100可以具有比图8中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图8中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solidstate disk,SSD)) 等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体 RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (12)

1.一种截图分享方法,应用于电子设备,其特征在于,所述电子设备上运行有第一操作系统和第二操作系统,所述方法包括:
响应于用户的截图操作,所述第一操作系统生成并保存截屏图像;
所述第二操作系统获取所述截屏图像,并将所述截屏图像保存到所述第二操作系统的剪贴板中;
所述第二操作系统在用户界面显示悬浮窗口,所述悬浮窗口是基于所述截屏图像生成的,所述用户界面是所述第二操作系统中的应用程序的一个用户界面;
所述第二操作系统检测到用户在所述用户界面上针对所述悬浮窗口的第一操作;
响应于所述第一操作,所述电子设备向其他设备发送所述截屏图像。
2.根据权利要求1所述的方法,其特征在于,在所述第二操作系统获取所述截屏图像之前,所述方法还包括:
所述第一操作系统向所述第二操作系统发送第一消息,所述第一消息用于指示所述第二操作系统获取所述截屏图像。
3.根据权利要求2所述的方法,其特征在于,所述第一消息是通过进程间通信IPC发送的。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一操作系统保存截屏图像,包括:
所述第一操作系统将所述截屏图像保存到所述第一操作系统的剪贴板中以及保存到共享文件夹中。
5.根据权利要求4所述的方法,其特征在于,在所述第一操作系统向所述第二操作系统发送第一消息之前,所述方法还包括:
所述第一操作系统检测到所述第一操作系统的剪贴板中最新保存的内容为图片。
6.根据权利要求4或5所述的方法,其特征在于,所述第二操作系统获取所述截屏图像,包括:
所述第二操作系统从所述共享文件夹中获取所述截屏图像。
7.根据权利要求4-6任一项所述的方法,其特征在于,在所述第二操作系统在用户界面显示悬浮窗口之前,所述方法还包括:
所述第二操作系统扫描所述截屏图像在所述共享文件夹中的路径,并基于所述路径将所述截屏图像的信息插入到媒体数据库中。
8.根据权利要求7所述的方法,其特征在于,所述第二操作系统基于所述路径将所述截屏图像的信息插入到媒体数据库中,包括:
所述第二操作系统在基于所述路径确定所述截屏图像符合预设规则的情况下,将所述截屏图像的信息插入到媒体数据库中;
其中,所述预设规则包括以下任意一项或多项:所述截屏图像的命名中包括特定关键字、所述截屏图像的时间戳信息中记录的时间点与第一时间点的时间间隔在预设时间间隔内,所述第一时间点为所述第二操作系统扫描所述截屏图像在所述共享文件夹中的路径时的时间点。
9.根据权利要求7或8所述的方法,其特征在于,在所述第二操作系统基于所述路径将所述截屏图像的信息插入到媒体数据库中之后,所述方法还包括:
所述应用程序从所述第二操作系统的剪贴板中获取所述截屏图像。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述截图操作包括以下一项或多项:选取截图区域的操作、在所述截图区域上的编辑操作。
11.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器;其中,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-10中任一项所述的方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述程序指令在电子设备上运行时,使得所述电子设备执行如权利要求1-10中任一项所述的方法。
CN202211463744.8A 2022-11-17 2022-11-17 截图分享方法及电子设备 Pending CN118101641A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211463744.8A CN118101641A (zh) 2022-11-17 2022-11-17 截图分享方法及电子设备
PCT/CN2023/127434 WO2024104094A1 (zh) 2022-11-17 2023-10-28 截图分享方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211463744.8A CN118101641A (zh) 2022-11-17 2022-11-17 截图分享方法及电子设备

Publications (1)

Publication Number Publication Date
CN118101641A true CN118101641A (zh) 2024-05-28

Family

ID=91083758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211463744.8A Pending CN118101641A (zh) 2022-11-17 2022-11-17 截图分享方法及电子设备

Country Status (2)

Country Link
CN (1) CN118101641A (zh)
WO (1) WO2024104094A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106168974B (zh) * 2016-07-11 2020-01-07 广州视睿电子科技有限公司 多系统截屏文件的处理方法和系统
CN110333814A (zh) * 2019-05-31 2019-10-15 华为技术有限公司 一种分享内容的方法及电子设备
CN111290675B (zh) * 2020-03-02 2023-02-17 Oppo广东移动通信有限公司 截屏图片的分享方法、装置、终端及存储介质
KR20210130583A (ko) * 2020-04-22 2021-11-01 라인플러스 주식회사 인스턴트 메시징 애플리케이션을 통해 콘텐츠를 공유하는 방법 및 시스템
CN114385304B (zh) * 2022-03-23 2022-07-08 麒麟软件有限公司 安卓应用调用Linux截图工具的方法

Also Published As

Publication number Publication date
WO2024104094A1 (zh) 2024-05-23

Similar Documents

Publication Publication Date Title
US20240168624A1 (en) Screen capture method and related device
CN114397979B (zh) 一种应用显示方法及电子设备
US20220342850A1 (en) Data transmission method and related device
CN111666119B (zh) Ui组件显示的方法及电子设备
WO2021103981A1 (zh) 分屏显示的处理方法、装置及电子设备
CN111240547A (zh) 跨设备任务处理的交互方法、电子设备及存储介质
CN115629730A (zh) 显示方法及相关装置
CN111669459B (zh) 键盘显示方法、电子设备和计算机可读存储介质
CN114327666B (zh) 应用启动方法、装置和电子设备
CN116360725B (zh) 显示交互系统、显示方法及设备
CN116055773A (zh) 一种多屏协同方法、系统及电子设备
WO2022078295A1 (zh) 一种设备推荐方法及电子设备
CN112130788A (zh) 一种内容分享方法及其装置
CN114356195B (zh) 一种文件传输的方法及相关设备
CN115756268A (zh) 跨设备交互的方法、装置、投屏系统及终端
WO2023005711A1 (zh) 一种服务的推荐方法及电子设备
US20230236714A1 (en) Cross-Device Desktop Management Method, First Electronic Device, and Second Electronic Device
CN115016697A (zh) 投屏方法、计算机设备、可读存储介质和程序产品
CN116301541A (zh) 共享文件的方法、电子设备及计算机可读存储介质
CN118101641A (zh) 截图分享方法及电子设备
CN114356186A (zh) 一种拖动阴影动画效果的实现方法及相关设备
WO2024193402A1 (zh) 显示方法及电子设备
WO2024109481A1 (zh) 窗口控制方法及电子设备
WO2024140757A1 (zh) 跨设备分屏方法及相关装置
CN118466812A (zh) 一种音频处理方法及电子设备

Legal Events

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