CN116560769A - 应用组件分享方法及相关设备 - Google Patents

应用组件分享方法及相关设备 Download PDF

Info

Publication number
CN116560769A
CN116560769A CN202210337826.1A CN202210337826A CN116560769A CN 116560769 A CN116560769 A CN 116560769A CN 202210337826 A CN202210337826 A CN 202210337826A CN 116560769 A CN116560769 A CN 116560769A
Authority
CN
China
Prior art keywords
electronic device
application component
application
information
user
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
CN202210337826.1A
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 PCT/CN2023/070633 priority Critical patent/WO2023142940A1/zh
Publication of CN116560769A publication Critical patent/CN116560769A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种应用组件分享方法及相关设备,电子设备(即本端设备)可以与一个或多个远端设备建立可信连接,通过该可信连接,电子设备可以向这一个或多个远端设备分享本端设备提供的应用组件,从而可以解决本端设备无法向远端设备分享应用组件的问题,用户可以直接在远端设备上使用分享过来的应用组件,简化用户操作,提高用户体验。

Description

应用组件分享方法及相关设备
本申请要求于2022年01月28日提交中国专利局、申请号为202210103825.0、申请名称为“一种跨设备组件交互方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及终端技术领域,尤其涉及一种应用组件分享方法及相关设备。
背景技术
随着智能电子设备的普及和互联网技术的发展,智能手机、笔记本电脑、平板电脑等电子设备已经成为人们日常生活中不可或缺的产品。为满足用户日益增长的使用需求,这些电子设备上安装的应用程序(Application,APP)的种类和数量也日益增多。通常,这些应用程序的入口均以桌面图标的形式显示在电子设备的桌面上。除了桌面图标,当前一些电子设备生产厂商还提供了桌面应用组件功能,这些桌面应用组件不仅可以作为应用程序的入口,而且它相比于传统的应用程序来说,具备更清晰的视觉,更自由的布局,更灵活的尺寸,更丰富的内容、支持个性化定制等特征,可以将应用程序的内容轻量、快速、高效呈现,支持用户快捷操作,实现服务一步直达。
然而,目前应用组件的应用场景较为受限,用户体验差。
发明内容
本申请实施例提供了一种应用组件分享方法及相关设备,本端设备可以向一个或多个远端设备分享应用组件,简化用户操作,提高用户体验。
第一方面,本申请实施例提供了一种应用组件分享方法,应用于第一电子设备,该方法包括:第一电子设备显示第一用户界面,第一用户界面包括第一应用组件;第一电子设备检测到用户向第二电子设备分享第一应用组件的操作,响应于该操作,第一电子设备向第二电子设备发送第一信息,第一信息为第一应用组件的信息,第一信息用于第二电子设备安装并显示第一应用组件。
通过实施第一方面提供的方法,可以实现从本端设备(即第一电子设备)一键式分享应用组件到远端设备(即第二电子设备),远端设备可以更为便利地安装、运行并显示来自其他电子设备分享的应用组件,灵活方便,简化用户操作,提高用户体验。
在一种可能的实现方式中,在第一电子设备检测到用户向第二电子设备分享第一应用组件的操作之前,该方法还包括:第一电子设备检测到用户分享第一应用组件的操作,响应于该操作,第一电子设备显示第一窗口,第一窗口包括一个或多个标识选项,一个或多个标识选项包括第二电子设备的标识选项;第一电子设备检测到用户向第二电子设备分享第一应用组件的操作,具体包括:第一电子设备检测到用户针对第二电子设备的标识选项的操作。
这样,用户在想要向其他电子设备分享某个应用组件时,本端设备上可以显示与本端设备建立连接的一个或多个远端设备的标识选项,用户选择相应的标识选项即可向该电子设备分享该应用组件。
在一种可能的实现方式中,在第一电子设备检测到用户向第二电子设备分享第一应用组件的操作之前,该方法还包括:第一电子设备检测到用户针对第一应用组件的长按操作,第一电子设备显示第二窗口,第二窗口包括第一选项,第一选项用于分享第一应用组件;第一电子设备检测到用户分享第一应用组件的操作,具体包括:第一电子设备检测到用户针对第一选项的操作。
这样,如果用户想要向其他电子设备分享第一应用组件(例如本端设备本地的应用组件),那么用户可以长按该第一应用组件,本端设备可以显示第二窗口(例如图6B所示的窗口620),该窗口中可以显示第一选项(例如图6B所示的选项621),用户可以点击该选项以触发分享第一应用组件。
在一种可能的实现方式中,第一信息包括第一应用组件的安装包。
这样,用户在触发向某个电子设备分享第一应用组件(例如本端设备本地提供的应用组件)时,本端设备可以向该电子设备发送第一应用组件的安装包,以便该电子设备可以基于该安装包来安装并显示第一应用组件。
在一种可能的实现方式中,由于第一应用组件的安装包是适配本端设备的安装包,而不一定是适配全部设备的安装包,因此,上述第一窗口包括的一个或多个标识选项可以均为适配第一应用组件的安装包的其他电子设备的标识选项。这样,本端设备可以只显示能够基于第一应用组件的安装包来安装第一应用组件的远端设备的标识选项,提供分享成功率。
在一种可能的实现方式中,由于应用组件可以是应用程序提供的,因此,第一信息可以包括提供第一应用组件的应用程序的安装包(也可以称为应用包),该安装包中可以包括第一应用组件的安装包(也可以称为应用组件包);在另一种可能的实现方式中,第一应用组件的安装包可以与应用程序的安装包分离开来,在这种情况下,第一信息可以只包括第一应用程序的安装包。
这样,用户在触发向某个电子设备分享第一应用组件时,在应用包与应用组件包未分离的情况下,本端设备可以向该电子设备发送应用包,在应用包与应用组件包分离的情况下,应用组件不依赖于应用来运行,而是可以独立运行,本端设备可以只向该电子设备发送应用组件包,无需发送应用包,节省资源。
在一种可能的实现方式中,第一信息还包括第一数据,第一数据是第一电子设备运行第一应用组件所产生的数据,第一数据用于第二电子设备生成第一内容,第一内容显示于第一应用组件上。
这样,远端设备在安装第一应用组件后可以显示本端设备运行第一应用组件所产生的数据,从而可以达到跨设备流转的效果。
在一种可能的实现方式中,第一用户界面为桌面。
这样,当第一用户界面为桌面时,本端设备可以向远端设备分享本地的应用组件(例如显示在桌面上的应用组件)。
在一种可能的实现方式中,第一用户界面为应用市场的一个用户界面。
这样,当第一用户界面为应用市场的一个用户界面时,本端设备可以向远端设备分享应用市场上提供的应用组件。
在一种可能的实现方式中,第一用户界面为应用市场的一个用户界面,第一电子设备检测到用户向第二电子设备分享第一应用组件的操作之前,该方法还包括:第一电子设备检测到用户针对分享选项的操作,第一电子设备显示第三窗口,第三窗口包括第二选项,第二选项用于向一个或多个电子设备分享第一应用组件;第一电子设备检测到用户分享第一应用组件的操作,具体包括:第一电子设备检测到用户针对第二选项的操作。
这样,用户在点击分享选项(例如图9A所示的选项911)之后,本端设备可以显示第三窗口(例如图9B所示的窗口920),该窗口中可以显示第二选项(例如图9B所示的选项921),用户可以点击该选项以触发向其他电子设备分享第一应用组件。
在一种可能的实现方式中,第一信息包括第一下载链接和第一应用组件的组件标识,第一下载链接为下载应用市场上已发布的全部应用组件的安装包的链接,或,第一信息包括第二下载链接,第二下载链接为下载适配第二电子设备的第一应用组件的安装包的链接。
这样,用户在触发向某个电子设备分享第一应用组件(例如应用市场上提供的应用组件)时,本端设备可以向远端设备发送下载应用市场上已发布的全部应用组件的安装包的链接和第一应用组件的组件标识,或,下载适配第二电子设备的第一应用组件的安装包的链接,以便远端设备可以向应用市场自动下载第一应用组件的安装包,简单便捷实现应用组件分享。
在一种可能的实现方式中,第一信息包括第三下载链接,第三下载链接为第一下载链接与第一应用组件的组件标识合成的下载链接。
这样,远端设备可以通过第三下载链接与远端设备的设备类型去应用市场下载适配远端设备的第一应用组件的安装包,简单便捷实现应用组件分享。
在一种可能的实现方式中,在第一电子设备检测到用户向第二电子设备分享第一应用组件的操作之前,该方法还包括:第一电子设备与第二电子设备建立通信连接,并确认第二电子设备为可信设备。
这样,在本端设备与远端设备建立通信连接且远端设备为可信设备的情况下,才可以跨设备进行应用组件分享,提高安全性。
第二方面,本申请实施例提供了一种应用组件分享方法,应用于第二电子设备,该方法包括:第二电子设备接收第一电子设备发送的第一信息,第一信息为第一应用组件的信息;第二电子设备基于第一信息自动安装并显示第一应用组件。
通过实施第二方面提供的方法,第二电子设备可以安装、运行并显示来自其他电子设备分享的应用组件,灵活方便,简化用户操作,提高用户体验。
在一种可能的实现方式中,第二电子设备显示第一应用组件,具体包括:第二电子设备在桌面上显示第一应用组件。
这样,第二电子设备可以将来自其他电子设备分享的应用组件显示在桌面上,便于用户查看。
在一种可能的实现方式中,第一信息包括第一应用组件的安装包,第二电子设备基于第一信息自动安装并显示第一应用组件,具体包括:第二电子设备基于第一应用组件的安装包自动安装并显示第一应用组件。
这样,第二电子设备可以基于来自其他电子设备分享的应用组件的安装包来安装并显示应用组件,简单便捷。
在一种可能的实现方式中,第一信息还包括第一数据,第一数据是第一电子设备运行第一应用组件所产生的数据,第二电子设备基于第一信息自动安装并显示第一应用组件,具体包括:第二电子设备基于第一应用组件的安装包和第一数据自动安装并显示第一应用组件,第一应用组件上显示有第一内容,第一内容是第二电子设备基于第一数据生成的。
这样,第二电子设备可以基于来自其他电子设备分享的应用组件的安装包来安装应用组件,并在应用组件上显示该应用组件在其他电子设备上运行时产生的数据,可以达到跨设备流转的效果。
在一种可能的实现方式中,在第二电子设备基于第一信息自动安装并显示第一应用组件之前,该方法还包括:第二电子设备确认第一电子设备满足第一条件;其中,第一条件包括第一电子设备与第二电子设备登录同一账号。
这样,在第一电子设备与第二电子设备登录同一账号的情况下,第二电子设备才会自动安装并显示第一应用组件,提高安全性。
在一种可能的实现方式中,第一条件还包括第一电子设备与第二电子设备接入同一局域网。
这样,在第一电子设备与第二电子设备登录同一账号,且接入同一局域网的情况下,第二电子设备才会自动安装并显示第一应用组件,可以进一步提高安全性。
在一种可能的实现方式中,第一信息包括第一下载链接和第一应用组件的组件标识,第一下载链接为下载应用市场上已发布的全部应用组件的安装包的链接,第二电子设备基于第一信息自动安装并显示第一应用组件,具体包括:第二电子设备基于第一下载链接、第一应用组件的组件标识、第二电子设备的设备类型下载适配第二电子设备的第一应用组件的安装包;第二电子设备基于适配第二电子设备的第一应用组件的安装包自动安装并显示第一应用组件。
这样,第二电子设备可以基于来自其他电子设备通过应用市场分享的应用组件的下载链接以及组件标识来自动安装并显示应用组件,简单便捷。在这种情况下,第二电子设备在安装并显示第一应用组件之前可以不用确认第一电子设备是否满足上述第一条件。
在一种可能的实现方式中,第一信息包括第二下载链接,第二下载链接为下载适配第二电子设备的第一应用组件的安装包的链接,第二电子设备基于第一信息自动安装并显示第一应用组件,具体包括:第二电子设备基于第二下载链接下载适配第二电子设备的第一应用组件的安装包;第二电子设备基于适配第二电子设备的第一应用组件的安装包自动安装并显示第一应用组件。
这样,第二电子设备可以基于来自其他电子设备通过应用市场分享的应用组件的下载链接来自动安装并显示应用组件,简单便捷。在这种情况下,第二电子设备在安装并显示第一应用组件之前可以不用确认第一电子设备是否满足上述第一条件。
在一种可能的实现方式中,在第二电子设备基于第一信息自动安装并显示第一应用组件之前,该方法还包括:第二电子设备确认第二电子设备上未安装有第一应用组件。
这样,在第二电子设备上已经安装有第一应用组件的情况下,可以不用重复安装。在这种情况下,第二电子设备可以将第一应用组件添加到桌面,运行并显示,便于用户查看。
在一种可能的实现方式中,在第二电子设备接收第一电子设备发送的第一信息之前,该方法还包括:第二电子设备与第一电子设备建立通信连接,并确认第一电子设备为可信设备。
这样,在确认第一电子设备为可信设备之后再接收第一电子设备发送的第一信息,可以提高安全性。
在一种可能的实现方式中,在第二电子设备基于第一信息自动安装并显示第一应用组件之前,该方法还包括:第二电子设备显示提示信息,该提示信息用于提示用户安装第一应用组件。
这样,用户可以根据提示信息确认是否安装应用组件,在用户同意安装第一应用组件的情况下,第二电子设备再安装第一应用组件,可以给予用户更多的自主选择权,通常用于第二电子设备与第一电子设备未登录同一账号的场景,具体可以是指在第一电子设备不满足上述第一条件的情况下显示上述提示信息。
第三方面,本申请实施例提供了一种通信系统,该通信系统包括:第一电子设备和第二电子设备;第一电子设备用于显示第一应用组件;第一电子设备还用于检测用户向第二电子设备分享第一应用组件的操作,响应于操作,向第二电子设备发送第一信息;第二电子设备用于接收第一信息;第二电子设备还用于基于第一信息安装并显示第一应用组件。
在一种可能的实现方式中,第二电子设备还用于基于第一信息安装并显示第一应用组件,具体包括:第二电子设备在确认第一电子设备满足第一条件的情况下基于第一信息自动安装并显示第一应用组件;其中,第一条件包括第一电子设备与第二电子设备登录同一账号。
在一种可能的实现方式中,第一信息包括第一下载链接和第一应用组件的组件标识,第一下载链接为下载应用市场上已发布的全部应用组件的安装包的链接,第二电子设备还用于基于第一信息安装并显示第一应用组件,具体包括:第二电子设备基于第一下载链接、第一应用组件的组件标识、第二电子设备的设备类型下载适配第二电子设备的第一应用组件的安装包;第二电子设备基于适配第二电子设备的第一应用组件的安装包安装并显示第一应用组件。
在一种可能的实现方式中,第一信息包括第二下载链接,第二下载链接为下载适配第二电子设备的第一应用组件的安装包的链接,第二电子设备还用于基于第一信息安装并显示第一应用组件,具体包括:第二电子设备基于第二下载链接下载适配第二电子设备的第一应用组件的安装包;第二电子设备基于适配第二电子设备的第一应用组件的安装包安装并显示第一应用组件。
第四方面,本申请实施例提供了一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器;其中,一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述第一方面或第二方面任一项可能的实现方式中的方法。
第五方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,计算机程序包括程序指令,当程序指令在电子设备上运行时,使得电子设备执行上述第一方面或第二方面任一项可能的实现方式中的方法。
第六方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或第二方面任一项可能的实现方式中的方法。
附图说明
图1是本申请实施例提供的一种本端设备在桌面显示应用组件的示意图;
图2是本申请实施例提供的一种通信系统的示意图;
图3A是本申请实施例提供的一种本端设备的软件架构示意图;
图3B是本申请实施例提供的另一种本端设备的软件架构示意图;
图4是本申请实施例提供的一种应用组件分享方法的流程示意图;
图5是本申请实施例提供的一种本端设备与远端设备建立可信连接过程中内部各个模块之间可能的协作方式示意图;
图6A-图6C是本申请实施例提供的一组本端设备向远端设备分享应用组件过程涉及的用户界面示意图;
图7A-图7D是本申请实施例提供的一组远端设备在接收并显示本端设备分享的应用组件过程涉及的用户界面示意图;
图8是本申请实施例提供的一种本端设备向远端设备分享应用组件过程中内部各个模块之间可能的协作方式示意图;
图9A-图9C是本申请实施例提供的另一组本端设备向远端设备分享应用组件过程涉及的用户界面示意图;
图10是本申请实施例提供的一种本端设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
应当理解,本申请的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
本申请以下实施例中的术语“用户界面(user interface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markuplanguage,XML)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphicuser interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
为便于理解,首先对本申请实施例中涉及的“应用组件”这一概念进行说明。
应用组件(Application Widget,App Widget),也可以称为卡片或服务卡片或服务组件(Service Widget)或应用微件或应用小组件,是电子设备的业务模块A(业务端,例如某个应用程序)在模块B(宿主端,例如桌面)界面上提供的一种小窗口或小部件。应用组件通常用于将应用程序(Application)的重要信息展示在电子设备的桌面上,实现应用程序的某个业务特性,用户可以通过快捷手势使用应用组件,以达到服务一步直达、减少层级跳转的目的。
应用组件是一种界面展示形式,通常是由第三方(例如应用程序的开发者)独立定制,即独立于该应用组件对应的应用程序定制。其中,应用组件可用于嵌入到其他应用程序中作为其界面的一部分显示,例如可以允许使用方(如桌面应用程序)将应用组件嵌入到自己的界面(如嵌入至安卓操作系统的activity组件)中进行显示。也就是说,对于任一应用程序,该应用程序对应的应用组件与该应用程序是相互独立的,即该应用程序对应的应用组件不是该应用程序的应用界面,但该应用程序对应的应用组件可以与该应用程序进行数据交互,以将该应用程序的重要信息或操作等更新或添加到应用组件,从而达到服务直达,减少体验层级的目的。例如,基于安卓操作系统设置的应用组件可以称为进行中卡片(ongoing card),基于鸿蒙操作系统设置的应用组件可以称为服务卡片,如form ability(FA)。
图1示例性示出了电子设备100提供的显示在用户界面110(即桌面)中的一个应用组件,通常应用组件可以显示有一种或多种信息,从图1可以看出,应用组件111显示有三种信息:位置信息(例如南京栖霞区)、温度信息(例如22度)、运动步数信息(例如6888步)。这样,通过将该应用组件显示在桌面上,用户可以直接查看到上述显示在该应用组件中的信息,无需进入提供该应用组件的应用程序来查看这些信息,方便快捷。同时,用户还可以直接点击该应用组件进入提供该应用组件的应用程序来查看更多详细信息或执行其他任务。
应用组件只是本申请实施例中所使用的一个词语,其代表的含义在本申请实施例中已经记载,其名称并不能对本申请实施例构成任何限制。
目前,应用组件通常只能在本端设备上使用,用户如果想要在其他远端设备上使用这些应用组件,则需要手动到远端设备上先安装提供这些应用组件的应用程序,然后通过桌面提供的窗口小工具选择对应的应用组件来添加到桌面上进行显示,最后可能还需要根据用户需求手动设置该应用组件的配置(例如设置天气应用组件的显示地点、设置日历应用组件的显示国家等),操作繁琐,灵活性差,用户不能像分享图片或文件那样向远端设备分享本端设备的应用组件,即用户无法灵活处理应用组件,缺少应用组件跨设备使用的体验,从而导致应用组件的应用场景受限,用户体验差。
本申请实施例提供了一种应用组件分享方法,电子设备(即本端设备)可以与一个或多个远端设备建立可信连接,通过该可信连接,电子设备可以向这一个或多个远端设备分享本端设备提供的应用组件,从而可以解决本端设备无法向远端设备分享应用组件的问题,并且分享到远端设备的应用组件无需用户再手动进行应用组件的设置工作即可直接使用,简化用户操作,提高用户体验。
下面,首先介绍本申请实施例提供的一种通信系统。
图2示例性示出了本申请实施例提供的一种通信系统。
如图2所示,该通信系统可以包括:多个电子设备。该通信系统也可以称为分布式系统。
该通信系统中包括的多个电子设备均为智能终端设备,可以为各种类型,本申请实施例对该多个电子设备的具体类型不作限制。例如,该多个电子设备可以包括手机,还可以包括平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、智慧屏、可穿戴式设备、增强现实(Augmented Reality,AR)设备、虚拟现实(Virtual Reality,VR)设备、人工智能(Artificial Intelligence,AI)设备、车机、智能耳机,游戏机,还可以包括物联网(Internetof Things,IOT)设备,智能家居设备如智能热水器、智能灯具、智能空调,或智能运动设备器械、智能医疗器械如血压机等。
该通信系统中的多个电子设备之间可以通过登录相同的账号进行连接。例如,多个电子设备可以登录同一华为账号,并通过服务器来远程连接并通信。账号可以是手机号,电子邮箱号,自定义的用户名,APP服务器分配的用户名,电子设备中某个APP中的登录使用的用户名等。
该通信系统中的多个电子设备也可以登录不同账号,但通过绑定的方式进行连接。一个电子设备登录账号后,可以在设备管理应用中,绑定登录不同账号或未登录的其他电子设备,之后这些电子设备之间可以通过该设备管理应用通信。
该通信系统中的多个电子设备还可以通过扫描二维码、近场通信(near fieldcommunication,NFC)碰一碰、搜索蓝牙设备等方式建立连接,这里不做限制。
总的来说,该通信系统中的多个电子设备之间建立的通信连接可以包括但不限于:有线连接、无线连接例如蓝牙(bluetooth,BT)连接、无线局域网(wireless local areanetworks,WLAN)例如无线保真点对点(wireless fidelity point to point,Wi-Fi P2P)连接、近距离无线通信(near field communication,NFC)连接,红外技术(infrared,IR)连接,以及远程连接(例如通过服务器建立的连接)等等。
此外,该通信系统中的多个电子设备也可以结合上述任意几种方式来连接并通信,本申请实施例对此不做限制。也即是说,该通信系统中的各个电子设备可以按照一定的通信协议和组网策略组建网络(即组网),使得该通信系统中的各个电子设备之间可以互相通信。
该通信系统中的多个电子设备可以配置不同的软件操作系统(OperatingSystem,OS),包括但不限于等等。其中,为华为的鸿蒙系统。多个电子设备可以都配置相同的软件操作系统,例如可以均配置/>在多个电子设备的软件操作系统均为/>时,该通信系统可以看作一个超级终端。
下面介绍本申请实施例提供的电子设备100的两种软件架构示意图。
图3A示例性示出了本申请实施例提供的应用组件显示过程涉及的一种电子设备100的软件架构(以Android系统为例)。
如图3A所示,电子设备100可以包括应用层和框架层。
应用层可以包括一系列应用程序,如图3A所示,应用层可以包括桌面(宿主端)、除桌面之外的其他业务应用(业务端)。
桌面(宿主端)可以包括应用组件宿主模块(App Widget Host)、应用组件宿主视图模块(App Widget Host View)。
其中,应用组件宿主模块是桌面(宿主端)提供的一个接口,可以用于支持应用组件嵌入到桌面(宿主端),并可以保存应用组件的界面逻辑信息;应用组件宿主视图模块中包括远程视图模块(RemoteView),应用组件宿主视图模块可以用于基于远程视图模块中关于应用组件的描述来显示应用组件,远程视图模块可以用于获取在应用组件宿主模块中保存的应用组件的界面逻辑信息,以供应用组件宿主视图模块来显示应用组件。
除桌面之外的其他业务应用(业务端)可以包括服务模块(Service)、应用组件提供器(App WidgetProvider)、远程视图模块(RemoteView)以及AndroidManifest.xml文件等。
其中,服务模块可以用于提供该应用所需的相关服务,应用组件提供器是一个广播接收器(BroadcastReceiver),可以用于接收更新应用组件界面的广播消息,远程视图模块可以用于描述应用组件的视图信息,例如更新应用组件界面所需的各种信息等,AndroidManifest.xml文件中包括该应用的配置信息,可以用于描述该应用中的各个模块(例如服务模块、应用组件提供器、远程视图模块等)。
框架层可以为应用层的应用程序提供应用编程接口(application programminginterface,API)和编程框架。框架层包括一些预先定义的函数。
如图3A所示,框架层可以包括应用组件管理模块(App Widget Manager)、应用组件服务模块(App Widget Service)等。
其中,应用组件管理模块可以用于为业务端和宿主端提供应用组件数据和事件交互的通道,应用组件服务模块可以用于负责应用组件的管理工作(例如加载应用组件、删除应用组件、处理定时事件等)。
继续参阅图3A,在应用组件界面需要更新时,宿主端的应用组件宿主视图模块会以广播消息的形式向业务端发送应用组件界面更新事件,业务端会通过服务模块创建一个服务并把更新界面通知通过应用组件提供器发送至远程视图模块,远程视图模块会生成更新界面所需的各种信息,并把更新界面所需的各种信息发送至框架层的应用组件管理模块,应用组件管理模块会调用应用组件服务模块提供的一些方法来把更新界面所需的各种信息发送至宿主端的应用组件宿主模块,应用组件宿主模块会基于更新界面所需的各种信息来更新应用组件并通过应用组件宿主视图模块来将更新后的应用组件界面显示在宿主端。
可以看出,上述框架层中的应用组件管理模块为宿主端和业务端提供了应用组件数据和事件交互的通道,通过将应用组件嵌入到宿主端提供的容器(Container)中,完成业务端数据在宿主端的自主显示和事件处理过程。其中,容器是一种软件程序,可以为应用组件提供运行环境,并管理应用组件的生命周期。
但是,目前应用组件管理模块只实现了本端设备的应用组件的管理,并没有实现跨设备应用组件的管理,而且,应用组件的界面逻辑信息和事件处理过程所需模块都打包在了应用包中,并没有与应用包分离。
基于上述问题,本申请实施例提供了另一种电子设备100的软件架构。
图3B示例性示出了本申请实施例提供的应用组件分享方法涉及的一种电子设备100的软件架构。
如图3B所示,电子设备100可以包括应用层、框架层、系统服务层、内核及硬件平台层、网络通信硬件层。
应用层可以包括一系列应用程序,如图3B所示,应用层可以包括桌面(宿主端)、除桌面之外的其他业务应用(业务端)。
桌面(宿主端)可以提供注入应用组件的容器,显示应用组件,支持应用组件嵌入并在桌面运行。
与图3A不同的是,除桌面之外的其他业务应用(业务端)中可以包括应用组件包(也可以称为应用组件的安装包)和应用包(也可以称为应用程序的安装包),也即是说,将应用组件包与应用包分离开来,应用组件包中只包含应用组件所涉及的业务逻辑和服务,这样,应用组件包可以从应用包中解耦,轻型化,并可以独立安装,也即是说,即使电子设备上未安装应用组件对应的应用,该电子设备也可以安装该应用组件。
由于应用组件不是一个单独的用户界面程序,因此,它必须嵌入在某个程序(即宿主端)中才可以运行,在本申请实施例中,应用组件的宿主端可以为桌面,即应用组件可以嵌入到桌面来运行。
可以理解的是,本申请实施例仅仅以桌面作为应用组件的宿主端为例,应用组件的宿主端还可以是其他应用程序,本申请实施例对此不作限定。
框架层可以为应用层的应用程序提供应用编程接口(application programminginterface,API)和编程框架。框架层包括一些预先定义的函数。
如图3B所示,框架层可以包括应用组件管理服务模块和包管理服务模块(PackageManagerService,PMS)。
应用组件管理服务模块可以被桌面(宿主端)调用,还可以向包管理服务模块获取应用组件包;还可以调用设备管理服务模块,等等;
包管理服务模块可以用于管理各种应用组件包和应用包,可以提供包安装、包注册、包信息管理等能力。
系统服务层是系统的核心能力集合,系统服务层可以通过框架层对应用层的应用程序提供服务。
如图3B所示,系统服务层可以包括设备管理模块、数据通信软总线、安全验证管理模块。
设备管理模块可以用于管理本端设备的设备信息以及与本端设备建立可信连接的一个或多个远端设备的设备信息等,并可以提供相关的API给上层模块。
其中,与本端设备建立可信连接的一个或多个远端设备的设备信息可以是设备管理模块依赖数据通信软总线获取到的。
数据通信软总线可以用于基于网络连接信息来提供设备注册、设备发现、设备连接、设备通信等能力。
安全验证管理模块可以用于基于设备证书、账号、签名等信息来验证远端设备的合法性,确保该远端设备为可信设备,并可以提供相关的API,还可以对应用组件包信息进行可信验证。
数据通信软总线通过Wi-Fi模块、蓝牙模块等基础网络设备,基于多种基础网络通信协议进行设备组网,并通过安全验证管理模块对接入设备(包括但不限于与本端设备接入同一局域网的设备、与本端设备登录同一账号的设备)进行可信验证,保存可信设备信息列表(即与本端设备建立可信连接的一个或多个远端设备的设备信息的列表),并对设备管理模块提供基础服务(例如提供可信设备信息列表),是整个跨设备场景下的核心基础模块。
如图3B所示,内核及硬件平台层可以包括硬件抽象层(HardwareAbstractionLayer)、内核以及驱动等。
硬件抽象层运行于用户空间(UserSpace),对内核层驱动进行封装,向上层提供调用接口。
内核层是硬件和软件之间的层。内核层可以包括显示驱动,摄像头驱动,音频驱动,传感器驱动、蓝牙驱动等。在一些实施例中,内核及硬件平台层可以包括内核抽象层(kernel abstract layer,KAL)和驱动子系统。KAL下包括多个内核,如Linux系统的内核Linux Kernel、轻量级物联网系统内核LiteOS等。驱动子系统则可以包括硬件驱动框架(Hardware Driver Foundation,HDF)。硬件驱动框架能够提供统一外设访问能力和驱动开发、管理框架。多内核的内核层可以根据系统的需求选择相应的内核进行处理。
如图3B所示,网络通信硬件层可以包括Wi-Fi模块、蓝牙模块等硬件,可以提供网络连接硬件能力,用于实现不同设备之间的通信。
可以理解的是,图3A和图3B仅仅是示例性的,不应该对本申请实施例中电子设备100的软件架构产生任何的限定。例如,在本申请另一些实施例中,电子设备100的系统架构也可以采用与图3A和图3B所示的例子中不同的分层结构,或者每层还可以包括更多或者更少的模块、或者多种不同模块方式的组合等,本申请实施例对此不作限定。电子设备100还可以同时包括图3A中所示的全部或部分模块以及图3B中所示的全部或者部分模块,本申请实施例对此也不作限定。
容易理解,本申请实施例涉及的其他电子设备的软件架构可以与电子设备100的软件架构相同或不同,本申请实施例对此不作限定。
基于上述图3B所示的软件架构,下面对本申请实施例提供的一种应用组件分享方法的具体流程进行详细介绍。
图4示例性示出了本申请实施例提供的一种应用组件分享方法的具体流程。
如图4所示,该方法可以应用于包括电子设备100(即本端设备)、电子设备200(即远端设备)的通信系统。下面详细介绍该方法的具体步骤:
首先,在本申请实施例中,电子设备100与电子设备200之间需要建立可信连接,在建立完成可信通信连接的前提下,才可以继续执行下述阶段二中的各个步骤,以实现跨设备分享应用组件的目的。
示例性地,电子设备100与电子设备200之间建立可信连接的一种可能的实现方式可以为下述阶段一(步骤S401-步骤S405)中描述的实现方式,下面详细介绍:
阶段一:建立可信连接阶段
S401-S402、电子设备100检测到触发建立可信连接的事件,响应于该事件,电子设备100向电子设备200发送建立连接的请求、获取电子设备200的设备信息的请求。
其中,上述触发建立可信连接的事件可以是用户在桌面触发查看远端设备的设备信息列表的操作(例如某个手势等)/指令(例如语音指令等),或,用户通过“设置”应用程序的界面触发电子设备100与电子设备200建立通信连接的操作,等等,本申请实施例对上述触发建立可信连接的事件或方式不作限定。
在一些实施例中,还可以基于系统某个特定时机(例如开机重启、锁屏解锁后、系统更新后等等)来触发电子设备100与电子设备200建立可信连接。
在另一些实施例中,还可以基于固定时机来触发电子设备100与电子设备200建立可信连接,例如,电子设备100可以每隔一段时间向电子设备200发送建立连接的请求、获取电子设备200的设备信息的请求,即基于固定周期来触发电子设备100与电子设备200建立可信连接。
S403-S404、电子设备200与电子设备100建立通信连接1,并向电子设备100发送电子设备200的设备信息。
具体地,电子设备200接收到电子设备100发送的建立连接的请求、获取电子设备200的设备信息的请求之后,可以与电子设备100建立通信连接1,并向电子设备100发送电子设备200的设备信息。
其中,电子设备200的设备信息可以包括但不限于电子设备200的设备类型、设备名称、设备标识(Identity Document,ID)、序列号、媒体访问控制地址、设备型号、连接方式等信息,本申请实施例对此不作限定。
其中,上述建立连接的请求、获取电子设备200的设备信息的请求中均可以携带有电子设备100的设备信息。电子设备100的设备信息可以包括但不限于电子设备100的设备类型、设备名称、设备ID、序列号、媒体访问控制地址、设备型号、连接方式等信息,本申请实施例对此不作限定。
S405、电子设备100基于电子设备200的设备信息对电子设备200进行可信验证,若可信验证成功,则确定通信连接1为可信连接。
具体地,电子设备100接收到电子设备200发送的电子设备200的设备信息之后,可以基于电子设备200的设备信息对电子设备200进行可信验证(包括但不限于电子设备100与电子设备200接入同一局域网和/或登录同一账号的场景),其中,可信验证过程验证的信息包括但不限于电子设备200的设备证书、登录的账号、签名、接入的网络等信息。
进一步地,若可信验证成功,则确定电子设备200为可信设备,即上述通信连接1为可信连接。
在一些实施例中,电子设备200也可以利用上述方式对电子设备100进行可信验证。
至此,电子设备100与电子设备200完成建立可信连接。进一步地,可以基于该可信连接来执行下述阶段二中的各个步骤。
下面结合图5示例性介绍在上述建立可信连接阶段电子设备100与电子设备200内部各个模块之间的一种可能的协作方式:
步骤1、电子设备100的桌面检测到触发建立可信连接的事件,之后,桌面可以调用电子设备100的应用组件管理服务模块,以获取设备信息列表。
其中,上述触发建立可信连接的事件可以是用户在桌面触发查看远端设备的设备信息列表的操作(例如某个手势等)/指令(例如语音指令等),等等,本申请实施例对上述触发建立可信连接的事件不作限定。
步骤2、电子设备100的应用组件管理服务可以调用设备管理模块,以请求设备管理模块获取设备信息列表。
步骤3、电子设备100的设备管理模块可以调用数据通信软总线,以请求获取远端设备信息(例如电子设备200的设备信息)。
步骤4、电子设备100的数据通信软总线可以通过内核及硬件平台层、网络通信硬件层向电子设备200请求建立连接、请求获取远端设备信息。
步骤5、电子设备200的数据通信软总线可以通过内核及硬件平台层、网络通信硬件层接收到电子设备100发送的建立连接的请求、获取远端设备信息的请求,之后,电子设备200可以通过调用电子设备200的数据通信软总线来与电子设备100建立连接,并向电子设备100发送电子设备200的设备信息。
步骤6、电子设备100在接收到电子设备200的设备信息之后,电子设备100的设备管理模块可以调用安全验证管理模块,以请求安全验证管理模块对电子设备200进行可信验证,若可信验证成功,则可以确定电子设备200为可信设备,进一步可以确定电子设备100与电子设备200建立的连接为可信连接。
电子设备100与电子设备200建立可信连接之后,电子设备100可以基于该可信连接向电子设备200分享电子设备100上的应用组件。
示例性地,电子设备100基于与电子设备200建立的可信连接向电子设备200分享电子设备100上的应用组件的一种可能的实现方式可以为下述阶段二(步骤S406-步骤S409)中描述的实现方式,下面详细介绍:
阶段二:分享应用组件阶段
S406-S407、电子设备100检测到触发向电子设备200分享应用组件1的事件,响应于该事件,电子设备100查询应用组件1的安装包(即应用组件包1)。
示例性地,如图6A所示,图6A所示的用户界面610可以为电子设备100的桌面,假设应用组件1为图6A中电子设备100的桌面上显示的这个应用组件,如果用户想要向其他电子设备(例如电子设备200)分享该应用组件1,则电子设备100可以检测到用户针对应用组件1的操作(例如长按操作),响应于该操作,电子设备100可以显示如图6B示例性所示的窗口620。
如图6B所示,窗口620中可以包括选项621(例如“分享”选项),该选项621可以用于指示用户向其他电子设备分享应用组件1。
可选地,窗口620中还可以包括选项622(例如“移除”选项),该选项622可以用于指示用户将应用组件1从电子设备100的桌面上移除。
继续参阅图6B,如果用户想要向其他电子设备(例如电子设备200)分享该应用组件1,则电子设备100可以检测到用户针对选项621的操作(例如点击操作),响应于该操作,电子设备100可以显示如图6C示例性所示的窗口630。
如图6C所示,窗口630中可以包括设备信息列表,该设备信息列表中可以包括与电子设备100建立可信连接的一个或多个远端设备的设备信息对应的选项(例如“我的平板”选项631、“TV”选项等等)。
继续参阅图6C,假设电子设备200为“我的平板”,如果用户想要向电子设备200分享该应用组件1,则电子设备100可以检测到用户针对“我的平板”选项631的操作(例如点击操作),响应于该操作,电子设备100可以查询应用组件1的安装包(即应用组件包1),以便在后续步骤中向电子设备200发送该应用组件包1。
在一些实施例中,电子设备100还可以支持用户在设备信息列表中同时选择多个设备(例如同时选择“我的平板”、“TV”)来分享应用组件1。
需要说明的是,本申请实施例对电子设备100查询应用组件1的安装包(即应用组件包1)的时机不作限定。例如,电子设备100可以在用户针对图6B所示的选项621(例如“分享”选项)的操作之后查询应用组件1的安装包;又例如,电子设备100也可以在用户针对图6C所示的设备信息对应的选项(例如“我的平板”选项631)的操作之后查询应用组件1的安装包;等等,本申请实施例对此不作限定。
在一些实施例中,前述阶段一(建立可信连接阶段)中触发建立可信连接的事件可以是图6B所示的用户点击选项621(例如“分享”选项)的事件。
需要说明的是,在本申请实施例中,触发电子设备100分享应用组件1的操作以图6A-图6B所示的操作为例,在一些实施例中,触发电子设备100分享应用组件1的操作还可以电子设备100预设的某个特定操作或手势,本申请实施例对此不作限定。
需要说明的是,在本申请实施例中,电子设备100支持用户先选择要分享的应用组件,再选择要向哪个设备分享已选择的应用组件,在一些实施例中,电子设备100还可以支持用户先选择要分享的设备,再选择要向已选择的设备分享哪个或哪些应用组件。
S408、电子设备100向电子设备200发送应用组件包1。
具体地,电子设备100在确定用户想要向电子设备200分享应用组件1,并且在查询到应用组件包1之后,可以向电子设备200发送该应用组件包1,以便在后续步骤中电子设备200可以基于该应用组件包1安装应用组件1。
在一些实施例中,电子设备100在向电子设备200发送应用组件包1的同时,还可以向电子设备200发送电子设备100的设备信息(例如电子设备100的设备标识等),以便电子设备200获知应用组件包1是哪个电子设备发送的。
在一些实施例中,如果电子设备100运行了应用组件1,则应用组件1上可以显示有电子设备100运行应用组件1所产生的数据(也可以称为状态数据或用户数据),例如,用户的位置信息(例如“栖霞区.南京”)、用户所在位置的温度信息(例如“22度”)、用户产生的步数信息(例如6888步),那么,电子设备100在向电子设备200发送应用组件包1的同时,还可以向电子设备200发送电子设备100运行应用组件1所产生的数据,以便电子设备200可以后续步骤中安装应用组件1后可以显示电子设备100运行应用组件1所产生的数据,从而达到跨设备流转的效果。
容易理解,由于电子设备100向远端设备发送的应用组件的安装包并不一定适用于所有设备类型的电子设备来基于此安装包安装应用组件,因此,在一些实施例中,如果用户想要向远端设备分享应用组件,在选择要分享的电子设备时,前述电子设备100显示的设备信息列表中可以只包括能够支持利用该应用组件的安装包来安装该应用组件的电子设备的设备信息,或,可以将不支持利用该应用组件的安装包来安装该应用组件的电子设备的设备信息灰度化显示。这样,可以提高分享应用组件的成功率,提高用户体验。
S409、电子设备200对应用组件包1进行可信验证以及查重校验,若可信验证成功且确认电子设备200上未安装有应用组件1,则电子设备200基于应用组件包1安装应用组件1,在安装成功后显示应用组件1。
具体地,电子设备200在接收到电子设备100发送的应用组件包1之后,可以对该应用组件包1进行可信验证,防止应用组件包1被恶意篡改,其中,可信验证过程验证的信息可以包括但不限于证书、签名等信息。
若可信验证成功,则电子设备200还可以对应用组件包1进行查重校验,防止重复安装应用组件1,也即是说,如果电子设备200上已经安装了应用组件1(即电子设备200上已经存在有应用组件1对应的安装包),则表示电子设备100发送给电子设备200的应用组件包1与电子设备200上本地存在的应用组件1对应的安装包重复了,电子设备200不会再基于应用组件包1重复安装应用组件1;如果电子设备200上未安装应用组件1(即电子设备200上不存在应用组件1对应的安装包),则表示电子设备100发送给电子设备200的应用组件包1与电子设备200上本地存在的应用组件对应的安装包没有重复,电子设备200则会基于应用组件包1安装应用组件1,在安装成功之后可以显示应用组件1。
容易理解,若可信验证失败,则电子设备200不会再对应用组件包1进行查重校验,也不会基于应用组件包1安装应用组件1。
示例性地,以应用组件显示在电子设备200的桌面上为例,参阅图7A,图7A是电子设备100在向电子设备200分享应用组件1之前,电子设备200显示的用户界面710,用户界面710可以是电子设备200的桌面,可以看出,用户界面710上没有显示应用组件1,也可以认为电子设备200上未安装有应用组件1。
参阅图7B,图7B是电子设备100向电子设备200分享应用组件1之后,在电子设备200确认可信验证成功且确认电子设备200上未安装有应用组件1的情况下,电子设备200基于应用组件包1安装应用组件1,并在安装成功之后,电子设备200显示的用户界面720,用户界面720可以是电子设备200的桌面,可以看出,与图7A所示的用户界面710不同的是,图7B所示的用户界面720中显示有应用组件1,也即是说,电子设备200上安装了来自电子设备100分享的应用组件1,并将应用组件1注入了电子设备200的桌面提供的容器中。
电子设备200在安装了来自电子设备100分享的应用组件1,并将应用组件1注入电子设备200的提供的容器(例如桌面提供的容器)中之后,应用组件1可以在电子设备200上运行,并可以将状态数据刷新至应用组件1的宿主端提供的容器(例如桌面提供的容器)中,从而可以将状态数据显示在应用组件1上,以供用户查看。
其中,状态数据(或者称为用户数据)可以是应用组件1获取到的电子设备200的用户产生的数据,例如,图7B所示的应用组件可以提供用户的位置信息、用户所在位置的温度信息、用户产生的步数信息的显示功能,则状态数据可以包括用户的位置信息(例如“栖霞区.南京”)、用户所在位置的温度信息(例如“22度”)、用户产生的步数信息(例如6888步)。
在一些实施例中,例如,在电子设备100和电子设备200登录同一账号等场景下,电子设备200上显示的应用组件1的状态数据也可以是电子设备100运行应用组件1所产生的数据,并周期性向电子设备200发送的,也即是说,电子设备100可以实时地向电子设备200更新状态数据,用户既可以通过电子设备100查看应用组件1的状态数据,也可以通过电子设备200查看应用组件1的状态数据,从而达到跨设备流转的效果,可以给用户带来全场景的体验。
通过实施图4所示实施例提供的方法,可以实现从本端设备一键式分享应用组件到远端设备,远端设备全程无需用户操作即可安装、运行并显示来自其他电子设备分享的应用组件,灵活方便,简化用户操作,提高用户体验。
在本申请实施例中,电子设备200在确认可信验证成功且确认电子设备200上未安装有应用组件1的情况下,电子设备200还可以确认电子设备200与电子设备100是否登录了同一账号,若是,则电子设备200可以基于电子设备100分享的应用组件包1自动安装并显示应用组件1。为了进一步提高安全性,在电子设备200基于电子设备100分享的应用组件包1自动安装并显示应用组件1之前,电子设备200还可以再确认电子设备200与电子设备100接入同一局域网。其中,电子设备100登录的账号信息和接入的局域网信息可以是电子设备200在对电子设备100进行可信验证过程中获取的。
在一些实施例中,参阅图7C,为了给用户自主选择权,或者,在电子设备200与电子设备100未登录同一账号等场景下,在电子设备200基于电子设备100分享的应用组件包1安装应用组件1之前,电子设备200可以显示窗口730,窗口730中可以显示有提示信息,例如,是否同意安装来自“XX设备”分享的“XX应用组件”,以提示用户是否同意安装来自电子设备100分享的应用组件1,若用户同意安装应用组件1(例如用户点击“是”选项),则电子设备200可以再基于电子设备100分享的应用组件包1安装应用组件1,若用户不同意安装应用组件1(例如用户点击“否”选项),则电子设备200不会基于电子设备100分享的应用组件包1安装应用组件1。
在一些实施例中,参阅图7D,在电子设备100向电子设备200分享应用组件1之后,如果电子设备200上已经安装了应用组件1,则电子设备200可以显示窗口740,窗口740中可以显示有提示信息,例如,“XX应用组件”已安装,无需重复安装。这样,可以提示用户电子设备100分享过来的应用组件1已在电子设备200上提前安装了,无需重复安装,避免出现用户认为应用组件1分享失败的错觉。进一步地,电子设备200还可以将已安装的应用组件1运行起来,并进行显示(例如显示在桌面上),如果电子设备100还向电子设备200发送了应用组件1在电子设备100上运行时产生的数据,则应用组件1上会显示该数据。
需要说明的是,本申请实施例中的电子设备本地的应用组件或来自其他电子设备分享的应用组件均以显示在电子设备的桌面上为例,不限于此,还可以显示在负一屏、其他应用程序的界面上,本申请实施例对此不作限定。
下面结合图8示例性介绍在上述分享应用组件阶段电子设备100与电子设备200内部各个模块之间的一种可能的协作方式:
步骤1、电子设备100的桌面检测到触发向远端设备(即目标设备)分享应用组件1的事件,之后,桌面可以向电子设备100的应用组件管理服务模块发送目标设备的设备信息和应用组件1的标识信息(也可以称为应用组件1的组件标识)。
其中,目标设备的设备信息可以包括但不限于目标设备的设备标识、设备类型等信息。在本申请实施例中以目标设备为电子设备200为例来进行说明。
其中,应用组件包1的标识信息可以包括但不限于应用组件的包名和模块名,包名,例如,com.xxx.xxx.sporthealth,可以表示该应用组件对应的应用程序为运行健康,模块名,例如,com.xxx.xxx.weather,可以表示该应用组件为天气类应用组件;
示例性地,上述触发向远端设备分享应用组件1的事件可以为图6B所示的用户点击选项621(例如“分享”选项)的操作。
步骤2、电子设备100的应用组件管理服务模块可以调用电子设备100的包管理服务模块,以请求向包管理服务模块获取应用组件包1。
具体地,电子设备100的应用组件管理服务模块在接收到电子设备100的桌面发送的目标设备的设备信息和应用组件1的标识信息之后,可以向电子设备100的包管理服务模块发送应用组件1的标识信息,由于应用组件1已经在电子设备100上安装了,因此,应用组件1已经在电子设备100的包管理服务模块中完成了包注册的过程,即电子设备100的包管理服务模块中已经保存有应用组件包1,在接收到电子设备100的应用组件管理服务模块发送的应用组件1的标识信息之后,电子设备100的包管理服务模块可以基于应用组件1的标识信息查询应用组件包1,查询完成后,可以向电子设备100的应用组件管理服务模块发送该应用组件包1。
步骤3、电子设备100的应用组件管理服务模块可以向电子设备100的设备管理模块发送应用组件包1、远端设备(即目标设备)的设备信息。
具体地,在接收到电子设备100的包管理服务模块发送的应用组件包1之后,电子设备100的应用组件管理服务模块可以向电子设备100的设备管理模块发送应用组件包1、远端设备(即目标设备)的设备信息。
步骤4、电子设备100的设备管理模块可以调用电子设备100的数据通信软总线,以请求向远端设备发送应用组件包1。
具体地,在接收到电子设备100的应用组件管理服务模块发送的应用组件包1、远端设备(即目标设备)的设备信息之后,电子设备100的设备管理模块可以向电子设备100的数据通信软总线发送向远端设备发送应用组件包1的请求,该请求中可以包括应用组件包1、远端设备的设备信息。
步骤5、电子设备100的数据通信软总线可以基于已经建立的可信连接向远端设备发送应用组件包1。
具体地,在接收到电子设备100的设备管理模块发送的向远端设备发送应用组件包1的请求之后,电子设备100的数据通信软总线可以基于该请求中携带的远端设备的设备信息确定向哪个远端设备发送应用组件包1。以远端设备为电子设备200为例,电子设备100的数据通信软总线可以基于电子设备100与电子设备200已经建立的可信连接(即通过内核及硬件平台层、网络通信硬件层)向电子设备200发送应用组件包1。
在一些实施例中,电子设备100数据通信软总线在向电子设备200发送应用组件包1的同时,还可以向电子设备200发送电子设备100的设备信息(例如电子设备100的设备标识等),以便电子设备200获知应用组件包1是哪个电子设备发送的。
在一些实施例中,电子设备100数据通信软总线在向电子设备200发送应用组件包1的同时,还可以向电子设备200发送电子设备100运行应用组件1所产生的数据。
步骤6、电子设备200的设备管理模块可以调用电子设备200的安全验证管理模块,以请求可信验证应用组件包1。
具体地,电子设备200的数据通信软总线可以通过内核及硬件平台层、网络通信硬件层接收到电子设备100发送的应用组件包1,之后,电子设备200的数据通信软总线可以向电子设备200的设备管理模块发送应用组件包1,电子设备200的设备管理模块接收到应用组件包1之后,可以向电子设备200的安全验证管理模块发送可信验证应用组件包1的请求,电子设备200的安全验证管理模块接收到该请求后,可以对应用组件包1进行可信验证,其中,可信验证过程验证的信息可以包括但不限于证书、签名等信息。
电子设备200的安全验证管理模块在确认应用组件包1可信验证成功之后,可以向电子设备200的设备管理模块发送可信验证成功的指示信息,以通知电子设备200的设备管理模块应用组件包1可信验证成功。
步骤7、电子设备200的设备管理模块向电子设备200的应用组件管理服务模块发送应用组件包1。
具体地,电子设备200的安全验证管理模块在确认应用组件包1可信验证成功之后,电子设备200的设备管理模块可以向电子设备200的应用组件管理服务模块发送应用组件包1,以向电子设备200的应用组件管理服务模块通知电子设备200接收到了电子设备100发送的应用组件包1。
步骤8、电子设备200的应用组件管理服务模块可以调用电子设备200的包管理服务模块,以请求查重校验应用组件包1。
具体地,在接收到电子设备200的设备管理模块发送的应用组件包1之后,电子设备200的应用组件管理服务模块可以向电子设备200的包管理服务模块发送查重校验应用组件包1的请求,该请求中包括应用组件包1,电子设备200的包管理服务模块在接收到该请求之后,可以对应用组件包1进行查重校验。其中,查重校验的具体执行过程可以参照前述图4所示的步骤S409中的相关内容,在此不再赘述。
电子设备200的包管理服务模块在确认查重校验成功(即电子设备100发送给电子设备200的应用组件包1与电子设备200上本地存在的应用组件对应的安装包没有重复)之后,可以在基于应用组件包1在后台安装应用组件1。
步骤9、电子设备200的应用组件管理服务模块可以将已安装成功的应用组件1注入应用组件容器(例如桌面)。
具体地,在电子设备200的包管理服务模块在后台成功安装应用组件1之后,电子设备200的应用组件管理服务模块可以将应用组件1注入到应用组件容器(例如桌面)中,以便应用组件1可以在容器中运行。
在本申请实施例中,电子设备100可以利用本申请实施例提供的方法向电子设备200分享应用组件,类似地,电子设备100也可以利用本申请实施例提供的方法向电子设备200分享应用程序,容易理解,分享应用程序的过程与分享应用组件的过程类似,不同之处在于,在分享应用程序时,电子设备100向电子设备200发送的是所分享的应用程序对应的安装包,电子设备200可以基于该应用程序对应的安装包来安装该应用程序。
在一些实施例中,由于应用组件是应用程序提供的,电子设备100向电子设备200分享应用组件时,在应用组件包(即应用组件对应的安装包)与应用包(即应用组件对应应用程序的安装包)分离开来的情况下,电子设备100可以向电子设备200发送所分享的应用组件对应的应用组件包;在应用组件包与应用包没有分离开来的情况下(即应用组件包包括在应用包中的情况下),电子设备100可以向电子设备200发送应用包,电子设备200可以基于该应用包来安装应用程序,这样,也一并安装了电子设备100向电子设备200分享的应用组件。
在前述实施例中,电子设备100向电子设备200分享应用组件过程依赖的网络通信均是以近场网络通信(例如蓝牙、Wi-Fi等近场网络通信方式)为例,在一些实施例中,电子设备100向电子设备200分享应用组件过程依赖的网络通信也可以是远场网络通信(例如互联网)。下面基于图9A-图9C来举例说明电子设备100通过远场网络通信向电子设备200分享应用组件的过程:
参阅图9A,电子设备100上可以安装有应用市场这一应用程序,应用市场上可以发布多个应用组件,图9A显示的用户界面910可以是应用市场中发布的某个应用组件(例如应用组件1,即“XX应用组件”)对应的下载界面,可以支持用户下载该应用组件到电子设备100(例如用户可以点击安装选项来下载并安装应用组件到电子设备100),还可以支持用户分享该应用组件(例如用户可以点击选项911来分享该应用组件),还可以支持用户查看与该应用组件的相关信息(例如该应用组件的名称、样式、介绍、评论等)。
继续参阅图9A,如果用户想要分享该应用组件,则电子设备100可以检测到用户针对选项911的操作(例如点击操作),响应于该操作,电子设备100可以显示图9B示例性所示的窗口920。
如图9B所示,窗口920中可以包括一个或多个选项(例如“云盘”选项、“好友”选项、“设备”选项921等等),该一个或多个选项可以用于支持用户向云盘、好友、其他电子设备等等来分享该应用组件。如果用户想要向其他电子设备分享该应用组件,则电子设备100可以检测到用户针对“设备”选项921的操作(例如点击操作),响应于该操作,电子设备100可以显示如图9C示例性所示的窗口930。
如图9C所示,窗口930中可以包括设备信息列表,该设备信息列表中可以包括一个或多个远端设备的设备信息对应的选项(例如“我的平板”选项931、“TV”选项等等)。
其中,上述设备信息列表中显示的一个或多个远端设备(例如我的平板、TV)可以是与电子设备100登录同一账号(例如同一华为账号)的电子设备,也可以是与电子设备100建立可信连接的电子设备。
继续参阅图9C,假设电子设备200为“我的平板”,如果用户想要向电子设备200分享该应用组件,则电子设备100可以检测到用户针对“我的平板”选项931的操作(例如点击操作),响应于该操作,电子设备100可以向电子设备200发送该应用组件的应用组件包对应的统一资源定位符(UniformResourceLocator,URL),即该应用组件的应用组件包对应的下载链接(或者称为下载网址),同时,还可以向电子设备200发送该应用组件的组件标识。
电子设备200在接收到电子设备100发送的上述应用组件(例如应用组件1)对应的URL和组件标识之后,可以基于该URL和组件标识在电子设备200的应用市场这一应用程序中下载并安装该应用组件,安装完成该应用组件并将该应用组件注入到容器(例如电子设备200的桌面提供的容器)中之后,该应用组件可以运行并显示在电子设备200上(例如可以如图7B示例性所示显示在电子设备200的桌面上)。
在一些实施例中,由于应用市场服务器上存储有全部已发布的应用组件的安装包,上述URL可以是一个总的下载网址,即应用市场服务器上存储全部已发布的应用组件的安装包的所在位置对应的网址,电子设备200可以基于电子设备200的设备类型、以及电子设备100发送的URL和组件标识在应用市场服务器上获取到适用电子设备200的设备类型以及与上述组件标识相对应的应用组件的安装包的下载链接,并进行下载。
在一些实施例中,由于电子设备100可以获知电子设备200的设备类型,因此,电子设备100向电子设备200分享应用组件1时,可以先基于电子设备200的设备类型、URL、应用组件1的组件标识在应用市场服务器上获取到适用电子设备200的设备类型的应用组件1的安装包的下载链接,然后,电子设备100可以向电子设备200发送该下载链接,这样,电子设备200可以直接基于该下载链接在应用市场服务器上下载适用电子设备200的设备类型的应用组件包1。
在一些实施例中,上述URL和组件标识也可以合成为一个下载链接(也可以称为第三下载链接),也即是说,该下载链接对应的是某个应用组件的全部版本的安装包(即该应用组件适配全部设备类型的安装包)的下载链接,这样,电子设备100只需要向电子设备200发送这一个下载链接即可实现应用组件分享。
容易理解,如果电子设备100向电子设备200分享该应用组件之前,电子设备200上就已经安装有该应用组件,则电子设备100向电子设备200分享该应用组件之后,可以不再重复安装该应用组件。
在一些实施例中,为了给用户自主选择权,在电子设备200基于电子设备100分享的下载链接安装应用组件1之前,也可以显示图7C所示的提示信息。
在一些实施例中,在电子设备200基于电子设备100分享的下载链接安装应用组件1之前,也可以先确认电子设备100是可信设备,或者,先确认电子设备100与电子设备200登录同一账号。
在一些实施例中,电子设备100也可以通过某些社交类应用程序来向好友的电子设备分享应用组件,也即是说,电子设备100可以通过某些社交类应用程序向好友的电子设备发送某个应用组件的URL,好友可以基于该URL在其电子设备上下载并安装该应用组件,安装完成该应用组件并将该应用组件注入到容器(例如好友的电子设备的桌面提供的容器)中之后,该应用组件也可以运行并显示在好友的电子设备上(例如可以如图7B示例性所示显示在好友的电子设备的桌面上)。
在本申请实施例中,第一电子设备可以为电子设备100(也可以称为本端设备),第二电子设备可以为电子设备200(也可以称为远端设备),第一应用组件可以为电子设备100本地的应用组件,也可以为电子设备100的应用市场上发布的应用组件,第一用户界面可以为桌面或应用市场的一个用户界面,第一信息可以为第一应用组件的信息(例如安装包、下载链接等),第一窗口可以为图6C所示的窗口630或图9C所示的窗口930,第一数据可以为电子设备100运行第一应用组件产生的数据,第一内容可以是基于第一数据产生的(例如温度:22度、步数:6888步等),第一下载链接可以为下载应用市场上已发布的全部应用组件的安装包的链接(例如前述URL指示的总的下载网址),第二下载链接可以为下载适配第二电子设备的第一应用组件的安装包的链接(例如前述适用电子设备200的设备类型的应用组件1的安装包的下载链接)。
下面介绍本申请实施例提供的一种电子设备100的结构示意图。
图10示例性示出了本申请实施例中提供的一种电子设备100的结构。
如图10所示,电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备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)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备100供电。
电源管理模块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的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动终端设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器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也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
应当理解的是,图10所示电子设备100仅是一个范例,并且电子设备100可以具有比图10中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图10中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
其中,电子设备200的结构可以与电子设备100的结构相同或相似,关于电子设备200的结构的相关内容可以参照图10所示的电子设备100的结构的相关文字描述,在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solidstate disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (20)

1.一种应用组件分享方法,应用于第一电子设备,其特征在于,所述方法包括:
所述第一电子设备显示第一用户界面,所述第一用户界面包括第一应用组件;
所述第一电子设备检测到用户向第二电子设备分享所述第一应用组件的操作,响应于所述操作,所述第一电子设备向所述第二电子设备发送第一信息,所述第一信息为所述第一应用组件的信息,所述第一信息用于所述第二电子设备安装并显示所述第一应用组件。
2.根据权利要求1所述的方法,其特征在于,在所述第一电子设备检测到用户向第二电子设备分享所述第一应用组件的操作之前,所述方法还包括:
所述第一电子设备检测到用户分享所述第一应用组件的操作,响应于所述操作,所述第一电子设备显示第一窗口,所述第一窗口包括一个或多个标识选项,所述一个或多个标识选项包括所述第二电子设备的标识选项;
所述第一电子设备检测到用户向第二电子设备分享所述第一应用组件的操作,具体包括:
所述第一电子设备检测到用户针对所述第二电子设备的标识选项的操作。
3.根据权利要求1或2所述的方法,其特征在于,所述第一信息包括所述第一应用组件的安装包。
4.根据权利要求3所述的方法,其特征在于,所述第一信息还包括第一数据,所述第一数据是所述第一电子设备运行所述第一应用组件所产生的数据,所述第一数据用于所述第二电子设备生成第一内容,所述第一内容显示于所述第一应用组件上。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一用户界面为桌面。
6.根据权利要求1或2所述的方法,其特征在于,所述第一用户界面为应用市场的一个用户界面。
7.根据权利要求6所述的方法,其特征在于,所述第一信息包括第一下载链接和所述第一应用组件的组件标识,所述第一下载链接为下载所述应用市场上已发布的全部应用组件的安装包的链接,或,所述第一信息包括第二下载链接,所述第二下载链接为下载适配所述第二电子设备的所述第一应用组件的安装包的链接。
8.根据权利要求1-5任一项所述的方法,其特征在于,在所述第一电子设备检测到用户向第二电子设备分享所述第一应用组件的操作之前,所述方法还包括:
所述第一电子设备与所述第二电子设备建立通信连接,并确认所述第二电子设备为可信设备。
9.一种应用组件分享方法,应用于第二电子设备,其特征在于,所述方法包括:
所述第二电子设备接收第一电子设备发送的第一信息,所述第一信息为第一应用组件的信息;
所述第二电子设备在确认所述第一电子设备满足第一条件的情况下基于所述第一信息自动安装并显示所述第一应用组件;
其中,所述第一条件包括所述第一电子设备与所述第二电子设备登录同一账号。
10.根据权利要求9所述的方法,其特征在于,所述第二电子设备显示所述第一应用组件,具体包括:
所述第二电子设备在桌面上显示所述第一应用组件。
11.根据权利要求9或10所述的方法,其特征在于,所述第一信息包括所述第一应用组件的安装包,所述第二电子设备基于所述第一信息自动安装并显示所述第一应用组件,具体包括:
所述第二电子设备基于所述第一应用组件的安装包自动安装并显示所述第一应用组件。
12.根据权利要求11所述的方法,其特征在于,所述第一信息还包括第一数据,所述第一数据是所述第一电子设备运行所述第一应用组件所产生的数据,所述第二电子设备基于所述第一信息自动安装并显示所述第一应用组件,具体包括:
所述第二电子设备基于所述第一应用组件的安装包和所述第一数据自动安装并显示所述第一应用组件,所述第一应用组件上显示有第一内容,所述第一内容是所述第二电子设备基于所述第一数据生成的。
13.根据权利要求9-12任一项所述的方法,其特征在于,在所述第二电子设备基于所述第一信息自动安装并显示所述第一应用组件之前,所述方法还包括:
所述第二电子设备确认所述第二电子设备上未安装有所述第一应用组件。
14.权利要求9-13任一项所述的方法,其特征在于,在所述第二电子设备接收第一电子设备发送的第一信息之前,所述方法还包括:
所述第二电子设备与所述第一电子设备建立通信连接,并确认所述第一电子设备为可信设备。
15.一种通信系统,其特征在于,所述通信系统包括:第一电子设备和第二电子设备;
所述第一电子设备用于显示第一应用组件;
所述第一电子设备还用于检测用户向所述第二电子设备分享所述第一应用组件的操作,响应于所述操作,向所述第二电子设备发送第一信息;
所述第二电子设备用于接收所述第一信息;
所述第二电子设备还用于基于所述第一信息安装并显示所述第一应用组件。
16.根据权利要求15所述的通信系统,其特征在于,所述第二电子设备还用于基于所述第一信息安装并显示所述第一应用组件,具体包括:
所述第二电子设备在确认所述第一电子设备满足第一条件的情况下基于所述第一信息自动安装并显示所述第一应用组件;
其中,所述第一条件包括所述第一电子设备与所述第二电子设备登录同一账号。
17.根据权利要求15所述的通信系统,其特征在于,所述第一信息包括第一下载链接和所述第一应用组件的组件标识,所述第一下载链接为下载所述应用市场上已发布的全部应用组件的安装包的链接,所述第二电子设备还用于基于所述第一信息安装并显示所述第一应用组件,具体包括:
所述第二电子设备基于所述第一下载链接、所述第一应用组件的组件标识、所述第二电子设备的设备类型下载适配所述第二电子设备的所述第一应用组件的安装包;
所述第二电子设备基于适配所述第二电子设备的所述第一应用组件的安装包安装并显示所述第一应用组件。
18.根据权利要求15所述的通信系统,其特征在于,所述第一信息包括第二下载链接,所述第二下载链接为下载适配所述第二电子设备的所述第一应用组件的安装包的链接,所述第二电子设备还用于基于所述第一信息安装并显示所述第一应用组件,具体包括:
所述第二电子设备基于所述第二下载链接下载适配所述第二电子设备的所述第一应用组件的安装包;
所述第二电子设备基于适配所述第二电子设备的所述第一应用组件的安装包自动安装并显示所述第一应用组件。
19.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器;其中,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-8或9-14中任一项所述的方法。
20.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述程序指令在电子设备上运行时,使得所述电子设备执行如权利要求1-8或9-14中任一项所述的方法。
CN202210337826.1A 2022-01-28 2022-03-31 应用组件分享方法及相关设备 Pending CN116560769A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2023/070633 WO2023142940A1 (zh) 2022-01-28 2023-01-05 应用组件分享方法及相关设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210103825 2022-01-28
CN2022101038250 2022-01-28

Publications (1)

Publication Number Publication Date
CN116560769A true CN116560769A (zh) 2023-08-08

Family

ID=87495271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210337826.1A Pending CN116560769A (zh) 2022-01-28 2022-03-31 应用组件分享方法及相关设备

Country Status (1)

Country Link
CN (1) CN116560769A (zh)

Similar Documents

Publication Publication Date Title
CN113885759B (zh) 通知消息处理方法、设备、系统及计算机可读存储介质
WO2021042978A1 (zh) 一种主题切换方法以及主题切换装置
CN116360725B (zh) 显示交互系统、显示方法及设备
WO2021052204A1 (zh) 基于通讯录的设备发现方法、音视频通信方法及电子设备
CN116361255A (zh) 数据同步方法、电子设备和计算机可读存储介质
CN114124980B (zh) 一种启动应用的方法、设备、系统、终端及存储介质
CN113821767A (zh) 应用程序的权限管理方法、装置和电子设备
EP4033354A1 (en) Method and apparatus for installing plug-in, and storage medium
CN114553814A (zh) 处理推送消息的方法和装置
CN114928898B (zh) 建立基于WiFi直接连接的会话的方法和装置
CN115017498B (zh) 小应用程序的操作方法和电子设备
CN117348894A (zh) 一种软件升级方法、终端设备及系统
CN116560862A (zh) 应用同步方法和电子设备
CN116527266A (zh) 数据归集方法及相关设备
CN115248693A (zh) 一种应用的管理方法和电子设备
WO2023142940A1 (zh) 应用组件分享方法及相关设备
CN116560769A (zh) 应用组件分享方法及相关设备
CN110737916A (zh) 通信终端及处理方法
WO2023142935A1 (zh) 应用组件管理方法及相关设备
WO2024093795A1 (zh) 一种设备替换的配置方法及装置
US12032938B2 (en) Plug-in installation method, apparatus, and storage medium
WO2023045876A1 (zh) 应用程序安装方法及相关设备
CN114006969B (zh) 一种窗口启动方法和电子设备
CN117255400A (zh) 应用组件交互方法及相关设备
CN117440081A (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