CN115857964A - 应用程序安装方法及相关设备 - Google Patents

应用程序安装方法及相关设备 Download PDF

Info

Publication number
CN115857964A
CN115857964A CN202111383611.5A CN202111383611A CN115857964A CN 115857964 A CN115857964 A CN 115857964A CN 202111383611 A CN202111383611 A CN 202111383611A CN 115857964 A CN115857964 A CN 115857964A
Authority
CN
China
Prior art keywords
electronic device
application
information
electronic
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
CN202111383611.5A
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.)
Petal Cloud Technology Co Ltd
Original Assignee
Petal Cloud Technology 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 Petal Cloud Technology Co Ltd filed Critical Petal Cloud Technology Co Ltd
Priority to PCT/CN2022/119661 priority Critical patent/WO2023045876A1/zh
Publication of CN115857964A publication Critical patent/CN115857964A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

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

Abstract

本申请公开了一种应用程序安装方法及相关设备,可以解决用户使用电子设备搜索想要安装的应用程序时,可能会搜索到适用于多个不同设备类型的电子设备(例如PC、手机等)的同一个应用程序,从而造成用户混淆的问题。此外,可以基于不同电子设备之间登录同一账号建立远程通信连接和/或基于附近的不同电子设备之间的互相发现建立短距离通信连接来实现跨设备应用程序安装,可以解决用户想要在多个设备上安装同一个应用程序时需要在每个设备上都执行一遍下载安装流程的问题,简化用户操作,提高用户体验。

Description

应用程序安装方法及相关设备
技术领域
本申请涉及通信技术领域,尤其涉及一种应用程序安装方法及相关设备。
背景技术
随着智能电子设备(例如智能手机、平板电脑等)的广泛应用,同一用户可能同时拥有多个智能电子设备,这些智能电子设备的各种功能通常是通过安装在其内部的应用程序来实现的。
然而,目前这些智能电子设备只能给自身安装应用程序,无法跨设备安装应用程序,用户如果想要在多个设备上安装同一个应用程序,则需要在每个设备上都执行一遍下载安装流程,操作繁琐,用户体验差。
发明内容
本申请实施例提供了一种应用程序安装方法及相关设备,可以实现跨设备的应用程序安装,简化用户操作,提高用户体验。
第一方面,本申请实施例提供了一种应用程序安装方法,应用于第一电子设备,该方法包括:第一电子设备显示应用市场程序的第一界面,第一界面包括第一应用程序的图标和第一应用程序对应的第一选项;第一电子设备检测到用户针对第一选项的第一操作;响应于第一操作,第一电子设备显示应用市场程序的第二界面,第二界面包括用于标识第一电子设备的第二选项和用于标识第二电子设备的第三选项,第三选项是基于第二电子设备的设备信息生成的,第二电子设备的设备信息是第一电子设备从服务器或第二电子设备获取的;第一电子设备检测到用户的第二操作;响应于第二操作,第一电子设备向第二电子设备发送第一请求,第一请求用于指示第二电子设备安装与第二电子设备对应的第一应用程序。
本申请实施例提供的一种应用程序安装方法,可以解决用户使用电子设备搜索想要安装的应用程序时,可能会搜索到适用于多个不同类型的电子设备(例如PC、手机等)的同一个应用程序,从而造成用户混淆的问题。此外,通过跨设备进行应用程序安装,可以解决用户想要在多个设备上安装同一个应用程序时需要在每个设备上都执行一遍下载安装流程的问题,简化用户操作,提高用户体验。
在一种可能的实现方式中,在第一电子设备检测到用户的第二操作之前,该方法还包括:第一电子设备检测到用户针对第三选项的操作。这样,用户可以选择一个电子设备(例如第二电子设备)来安装第一应用程序。
在一种可能的实现方式中,第二界面还包括:用于标识第三电子设备的第四选项,在第一电子设备检测到用户的第二操作之前,该方法还包括:第一电子设备检测到用户针对第三选项和第四选项的操作;响应于第二操作,第一电子设备还向第三电子设备发送第二请求,第二请求用于指示第三电子设备安装与第三电子设备对应的第一应用程序。这样,用户可以同时选择多个电子设备(例如第二电子设备和第三电子设备)来安装第一应用程序。
在一种可能的实现方式中,在第一电子设备显示应用市场程序的第一界面之前,该方法还包括:第一电子设备获取用户输入的关键词,并基于关键词搜索第一应用程序。这样,用户可以通过搜索操作来查找第一应用程序。
在一种可能的实现方式中,在第一电子设备检测到用户针对第一选项的第一操作之前,该方法还包括:第一电子设备登录第一账号,第一账号和第二电子设备相关联;第一电子设备通过服务器获取第二电子设备的设备信息。这样,第一电子设备与第二电子设备可以通过服务器建立关联关系,并通过服务器获取到第二电子设备的设备信息。
在一种可能的实现方式中,第一电子设备向第二电子设备发送第一请求,具体包括:第一电子设备通过服务器向第二电子设备发送第一请求,第一请求中包括与第二电子设备对应的第一应用程序的信息。这样,在登录同一账号的情况下,第一电子设备可以通过服务器向第二电子设备发送与第二电子设备对应的第一应用程序的信息,进一步地,第二电子设备可以基于该与第二电子设备对应的第一应用程序的信息来下载第一应用程序。
在一种可能的实现方式中,在第一电子设备显示应用市场程序的第一界面之前,该方法还包括:第一电子设备与第二电子设备建立短距离通信连接;第一电子设备通过短距离通信连接获取第二电子设备的设备信息。这样,第一电子设备可以与附近的其他电子设备(例如第二电子设备)建立短距离通信连接,并获取到附近的其他电子设备(例如第二电子设备)的设备信息。
在一种可能的实现方式中,第一电子设备向第二电子设备发送第一请求,具体包括:第一电子设备基于短距离通信连接向第二电子设备发送第一请求,第一请求中包括与第二电子设备对应的第一应用程序的信息。这样,在建立短距离通信连接的情况下,第一电子设备可以向第二电子设备发送与第二电子设备对应的第一应用程序的信息,进一步地,第二电子设备可以基于该与第二电子设备对应的第一应用程序的信息来下载第一应用程序。
在一种可能的实现方式中,在第一电子设备显示应用市场程序的第二界面之前,该方法还包括:第一电子设备向服务器发送第三请求,第三请求用于从服务器获取第一应用程序的信息;第一电子设备接收服务器发送的第一应用程序的信息,第一应用程序的信息包括与第一电子设备对应的第一应用程序的信息及与第二电子设备对应的第一应用程序的信息。这样,第一电子设备可以通过服务器获取到第一应用程序的信息。
在一种可能的实现方式中,第三请求中包括第二电子设备的设备信息和第一电子设备的设备信息。
在一种可能的实现方式中,第二界面还包括第一应用程序的状态信息,第一应用程序的状态信息包括第一应用程序已安装的指示信息,或第一应用程序未安装的指示信息。这样,可以第一电子设备可以获取到哪个电子设备上已安装/未安装第一应用程序。
在一种可能的实现方式中,该方法还包括:第一电子设备接收第二电子设备发送的第一应用程序安装成功的消息,并显示第二电子设备安装第一应用程序成功的指示信息。这样,可以向第一电子设备通知第二电子设备上成功安装第一应用程序。
在一种可能的实现方式中,第二界面中还包括第一应用程序的安装进度信息。这样,第一电子设备上可以显示第一应用程序的安装进度信息,以便用户及时获知。
第二方面,本申请实施例提供了一种应用程序安装方法,应用于包括第一电子设备和第二电子设备的通信系统,该方法包括:第一电子设备显示应用市场程序的第一界面,第一界面包括第一应用程序的图标和第一应用程序对应的第一选项;第一电子设备检测到用户针对第一选项的第一操作;响应于第一操作,第一电子设备显示应用市场程序的第二界面,第二界面包括用于标识第一电子设备的第二选项和用于标识第二电子设备的第三选项,第三选项是基于第二电子设备的设备信息生成的,第二电子设备的设备信息是第一电子设备从服务器或第二电子设备获取的;第一电子设备检测到用户的第二操作;响应于第二操作,第一电子设备向第二电子设备发送第一请求,第一请求用于指示第二电子设备安装与第二电子设备对应的第一应用程序;第二电子设备接收第一请求;第二电子设备基于第一请求获取与第二电子设备对应的第一应用程序的信息并下载第一应用程序。
在一种可能的实现方式中,在第一电子设备检测到用户的第二操作之前,该方法还包括:第一电子设备检测到用户针对第三选项的操作。
在一种可能的实现方式中,第二界面还包括:用于标识第三电子设备的第四选项,在第一电子设备检测到用户的第二操作之前,该方法还包括:第一电子设备检测到用户针对第三选项和第四选项的操作;响应于第二操作,第一电子设备还向第三电子设备发送第二请求,第二请求用于指示第三电子设备安装与第三电子设备对应的第一应用程序。
在一种可能的实现方式中,在第一电子设备显示应用市场程序的第一界面之前,该方法还包括:第一电子设备获取用户输入的关键词,并基于关键词搜索第一应用程序。
在一种可能的实现方式中,在第一电子设备检测到用户针对第一选项的第一操作之前,该方法还包括:第一电子设备与第二电子设备登录第一账号。
在一种可能的实现方式中,第一电子设备向第二电子设备发送第一请求,具体包括:第一电子设备通过服务器向第二电子设备发送第一请求,第一请求中包括与第二电子设备对应的第一应用程序的信息。
在一种可能的实现方式中,通信系统还包括服务器,在第一电子设备检测到用户针对第一选项的第一操作之前,该方法还包括:第一电子设备向服务器发送获取第二电子设备的设备信息的请求;服务器接收该请求,并向第一电子设备发送第二电子设备的设备信息;其中,第二电子设备的设备信息是服务器在第二电子设备登录第一账号之后获取的。
在一种可能的实现方式中,在第一电子设备显示应用市场程序的第一界面之前,该方法还包括:第一电子设备与第二电子设备建立短距离通信连接。
在一种可能的实现方式中,在第一电子设备显示应用市场程序的第一界面之前,该方法还包括:第一电子设备与第二电子设备登录相同账号或不同账号。
在一种可能的实现方式中,第一电子设备向第二电子设备发送第一请求,具体包括:第一电子设备基于短距离通信连接向第二电子设备发送第一请求,第一请求中包括与第二电子设备对应的第一应用程序的信息。
在一种可能的实现方式中,在第一电子设备显示应用市场程序的第二界面之前,该方法还包括:第一电子设备向第二电子设备获取第二电子设备的设备信息的请求;第二电子设备接收该请求,并向第一电子设备发送第二电子设备的设备信息。
在一种可能的实现方式中,在第一电子设备显示应用市场程序的第二界面之前,该方法还包括:第一电子设备向服务器发送第三请求,第三请求用于从服务器获取第一应用程序的信息;服务器接收第三请求,并向第一电子设备发送第一应用程序的信息,第一应用程序的信息包括与第一电子设备对应的第一应用程序的信息及与第二电子设备对应的第一应用程序的信息;第一电子设备接收第一应用程序的信息。
在一种可能的实现方式中,第三请求中包括第二电子设备的设备信息和第一电子设备的设备信息。
在一种可能的实现方式中,第二界面还包括第一应用程序的状态信息,第一应用程序的状态信息包括第一应用程序已安装的指示信息,或第一应用程序未安装的指示信息。
在一种可能的实现方式中,该方法还包括:第二电子设备向第一电子设备发送第一应用程序安装成功的消息;第一电子设备接收该消息,并显示第二电子设备安装第一应用程序成功的指示信息。
在一种可能的实现方式中,第二界面中还包括第一应用程序的安装进度信息。
在一种可能的实现方式中,在第二电子设备下载第一应用程序之前,该方法还包括:第二电子设备显示第一提示信息,第一提示信息用于提示用户下载第一应用程序;第二电子设备检测到用户下载第一应用程序的操作。
在一种可能的实现方式中,该方法还包括:第二电子设备安装第一应用程序;在第二电子设备安装第一应用程序之后,第二电子设备向第一电子设备发送第一应用程序安装成功的消息;第一电子设备接收该消息,并显示第二电子设备安装第一应用程序成功的指示信息。
第三方面,本申请实施例提供了一种应用程序安装方法,应用于第二电子设备,该方法包括:第二电子设备接收第一电子设备发送的第一请求;第二电子设备基于第一请求获取与第二电子设备对应的第一应用程序的信息并下载第一应用程序;其中,第一请求用于指示第二电子设备安装与第二电子设备对应的第一应用程序。
在一种可能的实现方式中,在第二电子设备接收第一电子设备发送的第一请求之前,该方法还包括:第二电子设备登录第一账号;其中,第一账号与第一电子设备相关联。
在一种可能的实现方式中,第二电子设备接收第一电子设备发送的第一请求,具体包括:第二电子设备接收第一电子设备通过服务器发送的第一请求,第一请求中包括与第二电子设备对应的第一应用程序的信息。
在一种可能的实现方式中,在第二电子设备接收第一电子设备发送的第一请求之前,该方法还包括:第二电子设备与第一电子设备建立短距离通信连接。
在一种可能的实现方式中,第二电子设备接收第一电子设备发送的第一请求,具体包括:第二电子设备基于短距离通信连接接收第一电子设备发送的第一请求,第一请求中包括与第二电子设备对应的第一应用程序的信息。
在一种可能的实现方式中,在第二电子设备接收第一电子设备发送的第一请求之前,该方法还包括:第二电子设备接收第一电子设备发送获取第二电子设备的设备信息的请求;第二电子设备向第一电子设备发送第二电子设备的设备信息。
在一种可能的实现方式中,在第二电子设备下载第一应用程序之前,该方法还包括:第二电子设备显示第一提示信息,第一提示信息用于提示用户下载第一应用程序;第二电子设备检测到用户下载第一应用程序的操作。
在一种可能的实现方式中,该方法还包括:第二电子设备安装第一应用程序;在第二电子设备安装第一应用程序成功之后,第二电子设备向第一电子设备发送第一应用程序安装成功的消息。
第四方面,本申请实施例提供了一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器;其中,该一个或多个存储器与该一个或多个处理器耦合,该一个或多个存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,当该一个或多个处理器执行该计算机指令时,使得该电子设备执行上述第一方面或第三方面任一项可能的实现方式中的方法。
第五方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,该计算机程序包括程序指令,当该程序指令在电子设备上运行时,使得该电子设备执行上述第一方面或第三方面任一项可能的实现方式中的方法。
第六方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或第三方面任一项可能的实现方式中的方法。
附图说明
图1A-图1F是本申请实施例提供的一组用户界面示意图;
图2是本申请实施例提供的一种通信系统的架构示意图;
图3A是本申请实施例提供的一种应用程序安装方法的流程示意图;
图3B是本申请实施例提供的图3A所示的应用程序安装方法中阶段二的另一种实现方式的流程示意图;
图4A-图4M是本申请实施例提供的另一组用户界面示意图;
图5是本申请实施例提供的另一种应用程序安装方法的流程示意图;
图6A-图6F是本申请实施例提供的另一组用户界面示意图;
图7是本申请实施例提供的一种电子设备的结构示意图;
图8是本申请实施例提供的一种电子设备的软件结构示意图;
图9是本申请实施例提供的另一种电子设备的结构示意图;
图10是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
应当理解,本申请的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
移动互联网是一个开放的体系,用户可以在电子设备上通过应用市场(或称为应用商店)这一应用程序给本机下载安装各种类型的应用程序,但是,一般的应用市场都只能给本机设备安装不同的应用程序,没有办法跨设备进行应用程序安装,例如,目前,当用户在手机上搜索“XX视频”应用程序时,应用市场服务器会给手机发送和该手机的型号对应的“XX视频”安卓应用程序包(Android Application Package,APK)文件,同理,当用户在个人计算机(Personal Computer,PC)上搜索“XX视频”应用程序时,应用市场服务器会给PC发送和该PC的型号对应的“XX视频”可执行文件(Executable File),即exe文件。
也就是说,当前业界通用的应用市场服务器都是给本机设备发送独立的应用程序,例如对于手机上的应用市场来说,应用市场服务器只能给本机设备发送应用程序对应的APK文件,对于PC上的应用市场来说,应用市场服务器只能给本机设备发送应用程序对应的exe文件,在实际的一些场景中,对于PC上的应用市场来说,应用市场服务器也可以给PC模拟器(例如带有
Figure BDA0003364864800000061
系统的PC模拟器)发送应用程序对应的APK文件。
在本申请实施例中,应用程序发送可以是指应用市场服务器向电子设备上的应用市场这一应用程序发送可以在该电子设备上运行的应用程序(Application,APP)的安装包和/下载链接,进一步地,电子设备可以通过应用市场来下载并安装对应的应用程序。
下面结合图1A-图1F来介绍一种典型的应用程序安装场景。
以“XX视频”应用程序为例,如图1A所示,电子设备100可以为PC,如果用户想在PC上面也下载“XX视频”应用程序对应的APK文件,那么用户可以在PC上的应用市场的一个用户界面110中的搜索框111中输入“XX视频”,此时,用户界面110上可以显示有“XX视频”对应的两个相同的搜索结果(例如相同图标、相同名字):搜索结果112和搜索结果113,这两个相同的搜索结果分别用于表示“XX视频”应用程序对应的exe文件和“XX视频”应用程序对应的APK文件。但是,同一家内容提供商(Content Provider,CP)的exe文件对应的应用程序和APK文件对应的应用程序为两个单独的应用程序,这两个应用程序是没有关联的,例如手机版本的“XX视频”应用程序和PC版本的“XX视频”应用程序是没有关联的。
这样,在用户界面110中显示两个相同图标、相同名字但没有关联的应用程序,容易给用户造成很大的误解,用户在选择安装的时候也会存在很大的疑惑,而且很难识别出哪一个适用于安装在手机上,哪一个适用于安装在PC上。只有在用户选择正确的情况下才有可能成功安装应用程序,用户选择错误的情况下则无法成功安装应用程序,用户体验差。
继续参阅图1A,假设搜索结果113表示的是“XX视频”应用程序对应的APK文件,即该文件适用于安装手机版本的“XX视频”应用程序。示例性地,电子设备200可以为手机,若用户想在电子设备200上下载安装“XX视频”应用程序,则电子设备100可以检测用户针对安装选项114的操作(例如点击操作),响应于该操作,电子设备100可以显示如图1B示例性所示的窗口120。
如图1B所示,窗口120中可以包括二维码121、提示122,提示122用于提示用户通过电子设备200扫描二维码121来下载“XX视频”应用程序。进一步地,电子设备200可以检测到用户的扫码操作,响应于该操作,电子设备200可以显示如图1C示例性所示的扫码场景下的用户界面130。扫码成功之后,电子设备200可以显示如图1D示例性所示的窗口140,窗口140中可以包括“XX视频”应用程序对应的APK文件名称(例如XX Video.apk)、下载选项141等。进一步地,电子设备200可以检测到用户针对下载选项141的操作(例如点击操作),响应于该操作,电子设备200可以通过XX浏览器来下载“XX视频”应用程序对应的APK文件。下载成功之后,电子设备200可以显示如图1E示例性所示的窗口150,窗口150中可以包括允许选项151、提示152等,提示152用于提示用户“XX视频”应用程序对应的APK文件下载成功,可以利用XX浏览器来安装“XX视频”应用程序。电子设备200可以检测到用户针对允许选项151的操作(例如点击操作),响应于该操作,电子设备200可以利用XX浏览器来安装“XX视频”应用程序。安装成功之后,电子设备200可以显示如图1F示例性所示的用户界面160,该用户界面160用于提示用户“XX视频”应用程序安装成功。
从图1A-图1F中可以看出,目前,如果用户想要通过PC的应用市场给手机安装适用于手机安装的应用程序,则用户需要利用手机扫描PC上显示的二维码来下载应用程序对应的APK文件到手机上,下载完成之后再进一步执行安装流程,从而实现通过PC发送应用程序到手机上。也就是说,用户如果想要在多个设备上安装同一个应用程序,则需要在每个设备上都执行一遍下载安装流程,操作繁琐,用户体验差。
目前解决上述问题的一种方法是,用户可以先在本机设备上下载并安装一个应用程序,若该应用程序的安装包中包括与另一个电子设备对应的应用程序安装包,则在本机设备与另一个电子设备建立有通信连接(例如蓝牙通信连接等)的情况下,本机设备可以向另一个电子设备推送该应用程序安装包,从而实现跨设备应用程序安装。但是,这种方法的缺点在于,需要本机设备先下载安装应用程序,然后才可以进行跨设备安装该应用程序,用户体验差。
本申请实施例提供了一种应用程序安装方法,可以解决用户使用电子设备搜索想要安装的应用程序时,可能会搜索到适用于多个不同类型的电子设备(例如PC、手机等)的同一个应用程序,从而造成用户混淆的问题。此外,通过跨设备进行应用程序安装,可以解决用户想要在多个设备上安装同一个应用程序时需要在每个设备上都执行一遍下载安装流程的问题,简化用户操作,提高用户体验。
本申请实施例提供的应用程序安装方法,主要包括以下两种方案:
方案一(远场方案):基于不同电子设备之间登录的同一账号建立远程通信连接,从而实现跨设备的应用程序安装。
方案二(近场方案):基于附近的不同电子设备之间的互相发现建立短距离通信连接,从而实现跨设备的应用程序安装。
后续实施例中会详细介绍上述两种方案,在此先不展开。
下面介绍本申请实施例提供的一种通信系统。
图2示例性示出了本申请实施例提供的一种通信系统。
如图2所示,该通信系统可以包括多个电子设备(例如电子设备100、电子设备200等)、服务器100、服务器200。
该通信系统中包括的多个电子设备均为智能电子设备,本申请实施例对电子设备的具体类型不作限定。例如,电子设备可以包括手机,还可以包括平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、智慧屏、可穿戴式设备(例如智能手表)、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificial intelligence,AI)设备、车机、智能耳机,游戏机,还可以包括物联网(internet of things,IOT)设备,智能家居设备等。不限于此,该通信系统中的多个电子设备还可以包括具有触敏表面或触控面板的膝上型计算机(laptop)、具有触敏表面或触控面板的台式计算机等非便携式终端设备等等。
服务器100和服务器200可以是传统服务器,也可以是云端服务器,本申请实施例对此不作限定。
在本申请实施例中,服务器100可以为账号服务器,用于负责账号登录和设备管理,可以保存登录同一账号的全部电子设备的设备信息列表。服务器200可以为分发服务器(通常可以指应用市场服务器),用于负责各类应用程序的发送和管理。服务器100和服务器200之间可以进行数据交互。
在一些实施例中,服务器100和服务器200可以集成为一个服务器。
该通信系统中的多个电子设备之间可以通过登录相同的账号进行连接。例如,多个电子设备可以登录同一华为账号,并通过服务器来远程连接并通信。账号可以是手机号,电子邮箱号,自定义的用户名,APP服务器分配的用户名,电子设备中某个APP中的登录使用的用户名等。
该通信系统中的多个电子设备还可以通过扫描二维码、近场通信(near fieldcommunication,NFC)碰一碰、搜索蓝牙设备等方式建立连接,这里不做限制。
总的来说,该通信系统中的多个电子设备之间建立的通信连接可以包括但不限于:有线连接、无线连接例如蓝牙(bluetooth,BT)连接、无线局域网(wireless local areanetworks,WLAN)例如无线保真点对点(wireless fidelity point to point,Wi-Fi P2P)连接、无线保真(wireless fidelity,Wi-Fi)连接、近距离无线通信(near fieldcommunication,NFC)连接,红外技术(infrared,IR)连接,以及远程连接(例如通过服务器建立的连接)等等。
此外,该通信系统中的多个电子设备也可以结合上述任意几种方式来连接并通信,本申请实施例对此不做限制。
该通信系统中的多个电子设备可以配置相同或不同的软件操作系统(operatingsystem,OS),包括但不限于
Figure BDA0003364864800000081
等等。其中,
Figure BDA0003364864800000082
为华为的鸿蒙系统。
在本申请实施例中,电子设备100可以为PC,电子设备100的系统可以为
Figure BDA0003364864800000083
操作系统,电子设备200可以为手机,电子设备200的系统可以为/>
Figure BDA0003364864800000084
操作系统。
本申请实施例提供了一种应用程序安装方法,该方法可以应用于包括多个电子设备、服务器100、服务器200的通信系统。
在该方法中,每一个电子设备都需要基于同一账号进行账号登录,服务器100可以保存登录该账号的全部电子设备的设备信息列表。以电子设备100给电子设备200安装应用程序为例,电子设备100可以从服务器100获取登录该账号的全部电子设备的设备信息列表,并进行显示,之后,电子设备100可以检测到用户选择给电子设备200安装某一个应用程序的操作,响应于该操作,电子设备100可以向服务器200发送对应的指令,服务器200接收到该指令后可以向电子设备200发送该指令,电子设备200接收到该指令后可以基于该指令到服务器200上自动下载上述应用程序对应的安装包文件,并自动安装上述应用程序,从而实现跨设备应用程序安装。
下面对上述应用程序安装方法进行详细介绍。
图3A示例性示出了本申请实施例提供的一种应用程序安装方法的具体流程。
如图3A所示,该方法可以应用于包括电子设备100、电子设备200、服务器100、服务器200的通信系统。其中,服务器100可以为账号服务器,服务器200可以为分发服务器,电子设备100可以为PC,电子设备200可以为手机,电子设备100和电子设备200均可以包括应用程序下载模块,用于下载安装各类应用程序,例如,电子设备100的应用程序下载模块可以为PC的应用市场,电子设备200的应用程序下载模块可以为手机的应用市场。下面详细介绍该方法的具体步骤:
阶段一:账号登录阶段
S301-S303、电子设备100检测到用户登录账号1的操作,响应于该操作,电子设备100向服务器100发送账号名称1、设备信息1,其中,设备信息1中包括设备名称1、设备类型1等信息。服务器100可以保存上述账号名称1、设备信息1。
具体地,电子设备100可以包括应用程序下载模块,该应用程序下载模块用于下载安装各类应用程序。示例性地,如图4A所示,该应用程序下载模块可以为电子设备100上安装的应用市场这一应用程序。电子设备100可以检测到用户针对用户界面410上显示的应用市场图标411的操作(例如点击操作),响应于该操作,电子设备100可以打开应用市场这一应用程序。
进一步地,电子设备100可以检测到用户在应用市场上登录账号1的操作,响应于该操作,电子设备100可以向服务器100发送账号名称1、设备信息1,设备信息1中可以包括但不限于设备名称1、设备类型1等信息。
其中,账号名称1为账号1的账号名称,账号名称可以为自定义的用户名、手机号,电子邮箱号等等。例如,账号1的账号名称可以为Summon。
其中,设备名称1为电子设备100的设备名称,设备名称可以是设备默认的设备名称,也可以是用户自主设置的设备名称,例如,电子设备100的设备名称可以为HuaweiMatebook X。
其中,设备类型1为电子设备100的设备类型,例如,电子设备100为PC,则电子设备100的设备类型为PC。
服务器100接收到电子设备100发送的账号名称1、设备信息1后,可以保存账号名称1、设备信息1。
S304-S306、电子设备200检测到用户登录账号1的操作,响应于该操作,电子设备200向服务器100发送账号名称1、设备信息2,其中,设备信息2中包括设备名称2、设备类型2等信息。服务器100可以保存上述账号名称1、设备信息2。
具体地,电子设备200也可以包括应用程序下载模块,该应用程序下载模块用于下载安装各类应用程序。示例性地,如图4B所示,该应用程序下载模块可以为电子设备200上安装的应用市场这一应用程序。电子设备100可以检测到用户针对用户界面420上显示的应用市场图标421的操作(例如点击操作),响应于该操作,电子设备200可以打开应用市场这一应用程序。
进一步地,电子设备200可以检测到用户在应用市场上登录账号1的操作,响应于该操作,电子设备200可以向服务器100发送账号名称1、设备信息2,设备信息2中可以包括但不限于设备名称2、设备类型2等信息。
其中,账号名称1为账号1的账号名称,账号名称可以为自定义的用户名、手机号,电子邮箱号等等。例如,账号1的账号名称可以为Summon。
其中,设备名称2为电子设备200的设备名称,设备名称可以是设备默认的设备名称,也可以是用户自主设置的设备名称,例如,电子设备200的设备名称可以为Huawei P40Pro。
其中,设备类型2为电子设备200的设备类型,例如,电子设备200为手机,则电子设备200的设备类型为手机。
服务器100接收到电子设备100发送的账号名称1、设备信息2后,可以保存账号名称1、设备信息2。
需要说明的是,本申请实施例对执行步骤S301-步骤S303、执行步骤S304-步骤S306的时间顺序不作限定。也即是说,电子设备100可以与电子设备200同时登录账号1,电子设备100也可以在电子设备200登录账号1之前或之后登录账号1,本申请实施例对此不作限定。
表1示例性示出了在电子设备100和电子设备200均登录账号1之后服务器100所保存的账号名称、设备信息(例如设备名称、设备类型)。
从表1可以看出,登录账号名称为Summon的这一账号(即账号1)的电子设备有三个,一个是设备名称为Huawei Matebook X,设备类型为PC的电子设备(即电子设备100),另一个是设备名称为Huawei P40 Pro,设备类型为手机的电子设备(即电子设备200),还有一个是设备名称为Huawei Watch GT,设备类型为手表的电子设备。
账号名称 设备名称 设备类型
Summon Huawei Matebook X 个人计算机(PC)
Summon Huawei P40 Pro 手机(phone)
Summon Huawei Watch GT 手表(Watch)
表1
服务器100可以保存登录账号1的全部电子设备的设备信息。表1中仅仅示出了登录账号1的电子设备100、电子设备200、手表的设备信息。容易理解,服务器100还可以保存更多登录账号1的设备的设备信息。
需要说明的是,在检测到用户登录账号的操作后,电子设备可以将账号信息、设备信息均发送给账号服务器,账号服务器可以将账号信息、设备信息均保存下来。其中,账号信息不限于前述账号名称;设备信息也不限于前述设备名称、设备类型,还可以包括设备ID、序列号、媒体访问控制地址、设备型号等信息。本申请实施例对此不作限定。
需要说明的是,上述步骤S301和步骤S304中用户登录账号的操作可以是指用户第一次登录应用市场时输入账号名称、账号密码等信息的操作;还可以是指用户登录系统账号后,打开应用市场,应用市场默认登录系统账号的操作;还可以是指用户在首次登录应用市场后,退出应用市场,之后再打开应用市场,再次登录账号的操作。
阶段二:应用程序信息和设备信息的获取与显示阶段
S307-S309、电子设备100检测到用户搜索应用程序1的操作,响应于该操作,电子设备100向服务器200发送获取应用程序1相关信息的请求,该请求中可以携带有应用程序1的应用程序名称等信息。服务器200接收到该请求后,向电子设备100发送应用程序1相关信息,其中,该相关信息中包括应用程序1适用的设备类型、应用程序1对应不同设备类型的应用程序安装包名称、下载链接等。
具体地,如图4C所示,用户界面430是电子设备100的应用市场上具有搜索功能的一个示例性的用户界面。以上述应用程序1是“XX视频”应用程序为例,在完成上述账号登录阶段之后,电子设备100可以检测到用户在搜索框431搜索“XX视频”的操作(例如用户输入关键词“XX视频”),响应于该操作,电子设备100可以向服务器200发送获取“XX视频”应用程序相关信息的请求,该请求中可以携带有“XX视频”应用程序的应用程序名称等信息。服务器200接收到该请求后,可以向电子设备100发送“XX视频”应用程序相关信息,该相关信息中可以包括但不限于“XX视频”应用程序适用的设备类型、“XX视频”应用程序对应不同设备类型的应用程序安装包名称、下载链接等。例如该相关信息中还包括应用程序名称。
在一些实施例中,上述相关信息中也可以不包括下载链接。在检测到用户确定下载该应用程序1操作(例如图6A中用户选择Huawei P40 Pro的操作)后,电子设备100可以再向服务器200发送请求,该请求用于指示服务器200向电子设备100发送应用程序1的下载链接。
表2示例性示出了服务器200向电子设备100发送的“XX视频”应用程序相关信息。
从表2可以看出,应用程序名称为“XX视频”,“XX视频”应用程序适用的设备类型有两种:PC和手机。其中,“XX视频”应用程序对应设备类型为PC的应用程序安装包名称为XXTV、下载链接为http://AAAAAA,“XX视频”应用程序对应设备类型为手机的应用程序安装包名称为com.xxtv.quickapp、下载链接为http://BBBBBB。
应用程序名称 应用程序安装包名称 设备类型 下载链接
XX视频 XXTV 个人计算机(PC) http://AAAAAA
XX视频 com.xxtv.quickapp 手机(phone) http://BBBBBB
表2
S310-S311、电子设备100向服务器100发送获取已经登录账号1的设备的设备信息的请求,服务器100接收到该请求后,向电子设备100发送已经登录账号1的设备的设备信息。
具体地,在获取到前述应用程序1相关信息之后,电子设备100可以向服务器100发送获取已经登录账号1(例如前述账号名称为Summon的账号)的设备的设备信息的请求,该请求中可以携带有账号1的账号名称等信息。由于服务器100已经提前保存了登录账号1的全部电子设备的设备信息,因此,服务器100接收到该请求后,可以向电子设备100发送已经登录账号1的设备的设备信息,其中,该设备信息可以为前述表1中示例性所示的服务器100已经保存的登录账号1的设备的设备信息,例如,电子设备100的设备名称和设备类型,电子设备200的设备名称和设备类型。
需要说明的是,本申请实施例对执行步骤S308-步骤S309与执行步骤S310-步骤S311的时间顺序不作限定。在一些实施例中,也可以先执行步骤S310-步骤S311,之后再执行步骤S308-步骤S309;在另一些实施例中,也可以同时执行步骤S308-步骤S309与步骤S310-步骤S311。
在一些实施例中,电子设备100可以先执行完步骤S310-步骤S311,即获取到登录同一账号的设备的设备信息,之后,步骤S308-步骤S309的执行过程可以为如下过程:电子设备100基于获取到的设备信息向服务器200发送请求,该请求中包括上述获取到的设备信息等,该请求用于指示服务器200向电子设备100发送对应该设备信息的应用程序安装包名称、下载链接等。服务器200接收到该请求后,可以向电子设备100发送对应该设备信息的应用程序安装包名称、下载链接等。
S312、电子设备100显示应用程序1的搜索结果和已经登录账号1的设备的设备信息列表。
具体地,电子设备100在完成步骤S307-步骤S311之后,即电子设备100在获取到前述应用程序1相关信息和已经登录账号1的设备的设备信息之后,电子设备100可以显示应用程序1的搜索结果,例如,图4C示例性所示的“XX视频”应用程序的搜索结果432。
电子设备100还可以显示安装选项435,安装选项435可以用于在本机或其他设备上安装“XX视频”应用程序。
可选地,电子设备100还可以显示本机的设备名称433、下拉选项434。
电子设备100可以检测到用户针对下拉选项434的操作(例如点击操作),响应于该操作,电子设备100可以显示如图4D示例性所示的窗口440,窗口440中可以包括已经登录账号1的设备的设备信息列表。
可选地,窗口440中可以只包括已经登录账号1的设备的设备名称,例如,电子设备100的设备名称Huawei Matebook X,电子设备200的设备名称Huawei P40 Pro等。
在一些实施例中,如图4D所示,上述设备信息列表中显示的设备可以包括全部登录账号1的设备,其中,既包括适用应用程序1的设备(例如Huawei Matebook X、Huawei P40Pro)也包括不适用应用程序1的设备(例如Huawei Watch GT),示例性地,参阅图4D,在不适用应用程序1的设备的设备信息旁可以显示提示信息“不兼容”;在另一些实施例中,上述设备信息列表中显示的设备也可以只包括登录账号1且适用应用程序1的设备,而不包括不适用应用程序1的设备。在另一些实施例中,上述设备信息列表中也可以只包括与电子设备100登录同一账号的其他设备,而不包括电子设备100。
在一些实施例中,上述阶段二中的步骤S307-步骤S312的另一种实现方式也可以是图3B示例性所示的步骤S307’-步骤S313’,下面详细介绍:
S307’、电子设备100检测到用户搜索应用程序1的操作。
S308’、电子设备100向服务器200发送获取应用程序1相关信息1的请求。
其中,步骤S307’-步骤S308’的具体执行过程可以参照前述图3A所示实施例中的步骤S307-步骤S308中的相关内容,在此不再赘述。
S309’、服务器200向服务器100发送应用程序1相关信息1,其中,该相关信息1中可以包括应用程序1适用的设备类型、应用程序1对应不同设备类型的应用程序安装包名称、下载链接等。
其中,上述应用程序1相关信息1即为前述步骤S309中的应用程序1相关信息(例如表2中示例性示出的“XX视频”应用程序相关信息)。
S310’、电子设备100向服务器100发送获取已经登录账号1的设备的设备信息的请求。
其中,步骤S310’的具体执行过程可以参照前述图3A所示实施例中的步骤S310中的相关内容,在此不再赘述。
S311’、服务器100基于应用程序1适用的设备类型与已经登录账号1的设备的设备类型确定应用程序1相关信息2,其中,该相关信息2中可以包括适用应用程序1且已经登录账号1的设备的设备类型、应用程序1的安装包名称、应用程序1的下载链接等;其中,不同的设备类型对应不同的应用程序1版本,不同的应用程序1版本对应不同的应用程序1的安装包名称和不同的应用程序1的下载链接。
具体地,由于服务器100已经提前保存了登录账号1的全部电子设备的设备信息,该设备信息可以包括全部电子设备的设备名称、设备类型等信息,因此,服务器100可以基于接收到的服务器200发送的应用程序1适用的设备类型来确定适用应用程序1且已经登录账号1的设备的设备类型。
例如,应用程序1适用的设备类型为PC、手机、手表,已经登录账号1的设备的设备类型为PC、手机,则适用应用程序1且已经登录账号1的设备的设备类型PC、手机;又例如,应用程序1适用的设备类型为PC、手机,已经登录账号1的设备的设备类型为PC、手机、手表,则适用应用程序1且已经登录账号1的设备的设备类型PC、手机;再例如,应用程序1适用的设备类型为PC、手机、手表,已经登录账号1的设备的设备类型为PC、手机、手表,则适用应用程序1且已经登录账号1的设备的设备类型PC、手机、手表。
进一步地,服务器100还可以基于接收到的服务器200发送的应用程序1对应不同设备类型的应用程序安装包名称、下载链接等来确定应用程序1的安装包名称、应用程序1的下载链接等。其中,应用程序1的安装包名称为应用程序1对应上述适用应用程序1且已经登录账号1的设备的设备类型的应用程序安装包名称,应用程序1的下载链接为应用程序1对应上述适用应用程序1且已经登录账号1的设备的设备类型的下载链接等。
至此,服务器100确定了应用程序1相关信息2,其中,该相关信息2中可以包括但不限于适用应用程序1且已经登录账号1的设备的设备类型、应用程序1的安装包名称、应用程序1的下载链接等。
S312’、服务器100向电子设备100发送应用程序1相关信息2、适用应用程序1且已经登录账号1的设备的设备信息。
S313’、电子设备100显示应用程序1的搜索结果和适用应用程序1且已经登录账号1的设备的设备信息列表。
在一些实施例中,服务器100也可以向电子设备100发送全部已经登录账号1的设备的设备信息,这些设备可以包括不适用应用程序1的设备。例如,假设应用程序1不适用智能手表,但已经登录账号1的设备中包括智能手表,则服务器100也可以将智能手表的设备信息发送给电子设备100,在这种情况下,上述设备信息列表中也可以显示有智能手表的设备信息,同时还可以显示提示信息(例如图4D中窗口440中所示的提示信息“不兼容”),以提示用户应用程序1不适用智能手表。
阶段三:应用程序下载与安装阶段
S313-S314、电子设备100检测到用户选择在设备名称2对应的设备上安装应用程序1的操作,响应于该操作,电子设备100基于用户选择的设备确定该设备的设备类型为设备类型2,并进一步确定应用程序1对应设备类型2的下载链接。
具体地,以电子设备100给电子设备200安装“XX视频”应用程序为例,电子设备200的设备名称为设备名称2,设备名称2为Huawei P40 Pro,应用程序1为“XX视频”应用程序。如图4D所示,电子设备100可以检测到用户选择在设备名称2对应的设备上安装“XX视频”应用程序的操作(例如用户点击图4D所示的Huawei P40 Pro选项的操作和用户点击图4E所示的安装选项435的操作),响应于该操作,电子设备100将Huawei P40 Pro选项置于图4E所示的被选中状态,即表示用户选择的设备为Huawei P40 Pro,同时,由于电子设备100提前获取到了已经登录账号1的设备的设备信息(参照表1),因此,电子设备100可以基于用户选择的设备确定该设备的设备类型为设备类型2(即手机),进一步地,由于电子设备100提前获取到了“XX视频”应用程序相关信息(参照表2),因此,电子设备100可以确定“XX视频”应用程序对应设备类型2的下载链接为http://BBBBBB。
在一种可能的实现方式中,上述检测到用户选择在设备名称2对应的设备上安装“XX视频”应用程序的操作也可以只是用户点击图4D所示的Huawei P40 Pro选项的操作,也即是说,用户选择要安装“XX视频”应用程序的设备选项之后,无需再点击安装选项,电子设备100即可执行后续步骤。
可选地,电子设备100也可以基于设备类型2确定应用程序1对应设备类型2的应用程序安装包名称。
在一种可能的实现方式中,参阅图4F-图4H,用户在搜索“XX视频”应用程序之后,在界面显示与用户操作上可以与图4C-图4E有所不同。参阅图4F,与图4C不同的是,电子设备100可以只显示“XX视频”应用程序的搜索结果432和安装选项435。进一步地,电子设备100可以检测到用户针对安装选项435的操作(例如点击操作),响应于该操作,电子设备100可以显示图4G示例性所示的窗口450。参阅图4G和图4H,与图4D-图4E不同的是,前述用户选择在设备名称2对应的设备上安装“XX视频”应用程序的操作可以包括用户点击图4G所示的Huawei P40 Pro选项的操作和用户点击图4H所示的安装到设备选项的操作。
参阅图4G与图4H,用户一次可以只选择一个设备(例如Huawei P40 Pro)来安装“XX视频”应用程序,也可以一次选择多个设备(例如Huawei Matebook X、Huawei P40 Pro等)同时来安装“XX视频”应用程序,提高安装效率。
从图4C或图4F可以看出,与图1A的不同之处在于,在用户搜索“XX视频”应用程序之后,图4C或图4F中显示的“XX视频”应用程序的搜索结果只有一个,而不是图1A中所示的多个搜索结果,也即是说,实施本方案,“XX视频”应用程序的搜索结果在界面上(即前台)只显示一个,可以不需要用户来区分“XX视频”应用程序的安装包适用的是哪一种设备类型,从而可以解决用户使用电子设备搜索想要安装的应用程序时,可能会因为搜索到适用于多个不同类型的电子设备(例如PC、手机等)的同一个应用程序,而造成用户混淆的问题。
S315-S317、电子设备100向服务器200发送下载指令1,该指令中包括设备信息2、应用程序1对应设备类型2的下载链接等,服务器200接收到该下载指令1后,向电子设备200发送该下载指令1。可选地,电子设备200接收到该下载指令1之后,可以显示提示信息,用于提示用户安装应用程序1,并可以检测到用户同意安装应用程序1的操作。
具体地,电子设备100可以向服务器200发送下载指令1,该指令中可以包括但不限于电子设备200的设备信息(即设备信息2)、应用程序1对应设备类型2的下载链接(例如“XX视频”应用程序对应设备类型2的下载链接http://BBBBBB)等。
其中,设备信息2中可以包括电子设备200的设备名称、设备ID、媒体访问控制地址等信息,用于服务器200查找到电子设备200,查找到电子设备200之后,服务器200才可以与电子设备200进行通信。
可选地,下载指令1中还可以包括应用程序1对应设备类型2的应用程序安装包名称。
在本申请实施例中,下载指令1中还可以包括电子设备100的账号信息和电子设备100的设备信息。
服务器200接收到该下载指令1后,可以向电子设备200发送该下载指令1。
一种可能的实现方式是,服务器200在接收到该下载指令后,可以先基于电子设备100的账号信息向服务器100获取与电子设备100登录同一账号的全部设备的设备信息列表,然后可以基于电子设备200的设备名称、设备ID、媒体访问控制地址等信息在该设备信息列表中查找到对应设备信息2的设备为电子设备200,这样,服务器200可以确认需要将该下载指令1发送给电子设备200,进一步地,服务器200可以向电子设备200发送该下载指令1。
可选地,服务器200也可以只向电子设备200发送应用程序1对应设备类型2的下载链接、电子设备200的设备名称。
可选地,服务器200也可以只向电子设备200发送应用程序1对应设备类型2的应用程序安装包名称、电子设备200的设备名称。
这样,电子设备100可以通过服务器200与电子设备200进行远程通信连接,并通过服务器200来通知电子设备200下载安装应用程序1。
在一些实施例中,电子设备200接收到服务器200发送的下载指令1后,可以显示如图4I示例性所示的窗口460,窗口460中可以包括选项461、选项462、提示信息463,用于提示用户下载安装应用程序1。这样,可以给用户选择权,同时也可以提高安全性。电子设备200可以检测到用户同意下载安装应用程序1的操作(例如针对选项461的点击操作),响应于该操作,电子设备200可以执行后续步骤。其中,上述窗口460的显示形式可以为Push通知、显示在用户界面(例如负一屏、锁屏界面、主界面等)上的弹窗等,本申请实施例对此不作限定。
在一种可能的实现方式中,电子设备100在向服务器200发送获取应用程序1相关信息的请求之后,服务器200不需要将应用程序1对应全部设备类型的应用程序安装包名称、下载链接等发送给电子设备100,而是,可以先将应用程序1的名称、应用程序1适用电子设备100这一设备类型的应用程序安装包名称、下载链接等发送给电子设备100,电子设备100可以基于获取到的设备信息显示如图4D所示的窗口440,即下拉菜单,在检测到用户在下拉菜单中选择在电子设备200上安装应用程序1的操作之后,电子设备100可以将电子设备200的设备信息、应用程序1的名称、电子设备100的账号信息等发送给服务器200,服务器200再基于电子设备200的设备信息、应用程序1的名称确定应用程序1适用电子设备200这一设备类型的应用程序安装包名称、下载链接等,并基于电子设备200的设备信息、电子设备100的账号信息确定需要将应用程序1适用电子设备200这一设备类型的应用程序安装包名称、下载链接等发送给电子设备200,进一步地,服务器200可以将应用程序1适用电子设备200这一设备类型的应用程序安装包名称、下载链接等发送给电子设备200,从而可以触发电子设备200下载安装应用程序1。若服务器200基于电子设备200的设备信息、应用程序1的名称,没有匹配到适用电子设备200这一设备类型的应用程序1,则服务器200可以向电子设备100发送提示信息,该提示信息用于提示用户没有与电子设备200这一设备类型对应的应用程序1的安装包或下载链接。
S318-S320、电子设备200向服务器200发送获取应用程序1对应设备类型2的安装包的请求,其中,该请求中包括应用程序1对应设备类型2的下载链接等,服务器200接收到该请求后,向电子设备200发送应用程序1对应设备类型2的安装包,电子设备200接收到该安装包后,安装应用程序1。
示例性地,在电子设备200接收到的下载指令1中包括应用程序1对应设备类型2的下载链接的情况下,上述请求中可以携带有应用程序1对应设备类型2的下载链接,电子设备200可以基于服务器200发送的应用程序1对应设备类型2的下载链接自动路由到服务器200去下载应用程序1对应设备类型2的安装包。下载完成后,电子设备200可以安装应用程序1。安装的过程与现有技术相同,在此不再赘述。
示例性地,在电子设备200接收到的下载指令1中包括应用程序1对应设备类型2的应用程序安装包名称的情况下,上述请求中可以携带有应用程序1对应设备类型2的应用程序安装包名称。服务器200接收到上述请求后,向电子设备200发送应用程序1对应设备类型2的安装包,电子设备200接收到该安装包后,可以安装应用程序1。安装的过程与现有技术相同,在此不再赘述。
S321-S323、电子设备200向服务器200发送应用程序1安装成功的指令,服务器200接收到该指令后,向电子设备100发送该指令,电子设备100接收到该指令后,显示应用程序1安装成功的指示信息。
具体地,电子设备200在成功安装应用程序1之后,可以向服务器200发送应用程序1安装成功的指令,该指令中可以包括电子设备100的设备信息,该设备信息可以是服务器200向电子设备100发送下载指令1时携带的。服务器200接收到该指令后,可以向电子设备100发送该指令,用于向电子设备100通知电子设备200已经成功安装应用程序1。电子设备100接收到该指令后,可以显示图4J示例性所示的应用程序1安装成功的指示信息471,该指示信息用于指示电子设备200已经成功安装应用程序1。也即是说,电子设备100成功向电子设备200安装应用程序1,实现了跨设备应用程序安装。
在一些实施例中,上述安装成功的指令还可以是安装成功的消息。
示例性地,应用程序1为“XX视频”应用程序,如图4K所示,相比于图4B,电子设备200在用户界面420中显示了新增的“XX视频”应用程序的图标422,用于表示电子设备200成功安装“XX视频”应用程序。
需要说明的是,步骤S321-步骤S323是可选的,在一些实施例中,也可以不执行步骤S321-步骤S323,即电子设备200在成功安装应用程序1之后可以不通知电子设备100,电子设备100也不需要显示应用程序1安装成功的指示信息。
参阅图4H,可以理解,图4H中还可以显示更多其他与电子设备100建立连接的电子设备的设备信息,例如电子设备300(图中未示出)。用户可以一次选择多个设备同时安装“XX视频”应用程序,例如,用户可以同时选择电子设备200和电子设备300。容易理解,电子设备300安装“XX视频”应用程序的过程与电子设备200安装“XX视频”应用程序的过程类似,在此不再赘述。
实施上述实施例提供的应用程序安装方法,可以将没有关联的多个电子设备(例如本机设备与一个或多个对端设备)通过登录同一账号来进行关联,从而实现远端跨设备安装应用程序的功能。一方面,本机设备(例如电子设备100)无需在前台提供多个适用于不同设备类型的应用程序名称来供用户选择,这样,可以很好地解决用户被多个相同名称的应用程序迷惑的问题。另一方面,通过登录同一账号来关联本机设备与对端设备(例如电子设备200),本机设备可以向对端设备提供与对端设备的设备类型相对应的应用程序的下载链接,对端设备可以根据该下载链接来下载对应的应用程序的安装包文件,从而可以实现跨设备应用程序安装,这样,对端设备无需用户重复进行下载安装操作,即可自动安装应用程序,简化用户操作,提高用户体验。
在一些实施例中,继续参阅图3B,在步骤S309’中,应用程序1相关信息1中还可以包括已安装该应用程序1的电子设备的设备信息(例如设备名称、设备ID等)以及指示信息(例如“已安装”),该设备信息是电子设备在安装应用程序1后服务器200记录下来的;还可以包括未安装该应用程序1的电子设备的设备信息(例如设备名称、设备ID等)以及指示信息(例如“未安装”),服务器100接收到上述已安装/未安装该应用程序1的电子设备的设备信息后,可以将该设备信息与已保存的登录账号1的设备的设备信息进行比对,从而确定出登录账号1且已安装/未安装应用程序1的设备的设备信息。进一步地,在步骤S311’中,应用程序1相关信息2中还可以包括登录账号1且已安装/未安装应用程序1的设备的设备信息以及指示信息。进一步地,在步骤S313’中,如图4L示例性所示,若登录账号1且已安装应用程序1的设备为电子设备200,即Huawei P40 Pro,则图4L所示的设备信息列表中的HuaweiP40 Pro旁可以显示提示信息“已安装”,用于提示用户Huawei P40 Pro上已安装应用程序1。
在一些实施例中,继续参阅图3B,在步骤S309’中,应用程序1相关信息1中还可以包括适用安装应用程序1的应用市场版本。服务器100接收到上述适用安装应用程序1的应用市场版本后,可以向登录账号1的全部电子设备发送获取应用市场版本的请求,进一步地,服务器100可以接收到登录账号1的全部电子设备的应用市场版本,进一步地,服务器100可以将上述适用安装应用程序1的应用市场版本与登录账号1的全部电子设备的应用市场版本进行比对,从而确定出应用市场版本过低的设备的设备信息(即不适用安装应用程序1的应用市场版本对应设备的设备信息),进一步地,在步骤S311’中,应用程序1相关信息2中还可以包括应用市场版本过低的设备的设备信息。进一步地,在步骤S313’中,如图4M示例性所示,若应用市场版本过低的设备为电子设备200,即Huawei P40 Pro,则图4M所示的设备信息列表中可以显示提示信息“应用市场版本过低”,用于提示用户Huawei P40 Pro上的应用市场版本过低,不适用安装应用程序1。
在一些实施例中,服务器100不需要向登录账号1的全部电子设备发送获取应用市场版本的请求,而是电子设备在登录账号后就可以将该电子设备的应用市场版本发送给服务器100,服务器100可以将其保存下来。
本申请实施例提供了另一种应用程序安装方法,该方法可以应用于包括多个电子设备、服务器200的通信系统。
在该方法中,多个电子设备均为附近的电子设备(即近端设备),这多个电子设备之间可以基于Wi-Fi、蓝牙、NFC等技术进行近端设备的互相发现,互相发现的两个电子设备之间可以建立互相通信的通路,即短距离通信连接。进一步地,互相发现的两个电子设备之间可以获取对方的设备信息。以电子设备100给电子设备200安装应用程序为例,电子设备100上可以显示电子设备100获取的附近设备的设备信息列表,电子设备100可以检测到用户选择给电子设备200安装某一个应用程序的操作,响应于该操作,电子设备100可以基于上述短距离通信连接向电子设备200发送对应的指令,电子设备200接收到该指令后可以基于该指令到服务器200上自动下载上述应用程序对应的安装包文件,并自动安装上述应用程序,从而实现跨设备应用程序安装。
下面对上述应用程序安装方法进行详细介绍。
图5示例性示出了本申请实施例提供的另一种应用程序安装方法的具体流程。
如图5所示,该方法可以应用于包括电子设备100、电子设备200、服务器200的通信系统。其中,服务器200可以为分发服务器,电子设备100可以为PC,电子设备200可以为手机,电子设备100和电子设备200均可以包括应用程序下载模块和设备发现模块,应用程序下载模块用于下载安装各类应用程序,例如,电子设备100的应用程序下载模块可以为PC的应用市场,电子设备200的应用程序下载模块可以为手机的应用市场,设备发现模块用于负责附近设备的互相发现,并在不同电子设备之间建立短距离通信连接,例如,设备发现模块可以为Wi-Fi模块、蓝牙模块、NFC模块等。下面详细介绍该方法的具体步骤:
阶段一:通信连接建立阶段
S501、电子设备100与电子设备200建立短距离通信连接。
本申请实施例中电子设备100与电子设备200建立短距离通信连接的方式可以包括但不限于扫描二维码、近场通信(near field communication,NFC)碰一碰、搜索蓝牙设备等方式。本申请实施例中电子设备100与电子设备200建立的短距离通信连接的类型可以包括但不限于Wi-Fi、蓝牙、NFC等。
其中,电子设备100与电子设备200可以为登录同一账号或登录不同账号的设备。
阶段二:应用程序信息和设备信息的获取与显示阶段
S502-S504、电子设备100检测到用户搜索应用程序1的操作,响应于该操作,电子设备100向服务器200发送获取应用程序1相关信息的请求,服务器200接收到该请求后,向电子设备100发送应用程序1相关信息,其中,该相关信息中包括应用程序1适用的设备类型、应用程序1对应不同设备类型的应用程序安装包名称、下载链接等。
其中,步骤S502-步骤S504的具体执行过程可以参照前述图3A所示实施例中的步骤S307-步骤S309中的相关内容,在此不再赘述。
在一些实施例中,在步骤S503之前,还可以包括:电子设备100在其应用程序下载模块上登录账号(例如账号1等)。
S505-S508、电子设备100的应用程序下载模块向电子设备100的设备发现模块发送获取附近设备的设备信息的指令,电子设备100的设备发现模块接收到该指令后,向电子设备200的设备发现模块发送获取附近设备的设备信息的请求,电子设备200的设备发现模块接收到该请求后,向电子设备100的设备发现模块发送设备信息2,其中,设备信息2中包括设备名称2、设备类型2等信息。电子设备100的设备发现模块接收到设备信息2后,向电子设备100的应用程序下载模块发送设备信息2。
具体地,在获取到前述应用程序1相关信息之后,电子设备100的应用程序下载模块可以向电子设备100的设备发现模块发送获取附近设备的设备信息的指令,电子设备100的设备发现模块接收到该指令后,可以向电子设备100附近的其他电子设备发送获取附近设备的设备信息的请求,例如,附近其他电子设备包括电子设备200,则可以向电子设备200发送上述请求,电子设备200的设备发现模块接收到上请求后,可以向电子设备100的设备发现模块发送设备信息2(即电子设备200的设备信息),其中,设备信息2中包括设备名称2(即电子设备200的设备名称)、设备类型2(即电子设备200的设备类型)等信息。电子设备100的设备发现模块接收到设备信息2后,可以向电子设备100的应用程序下载模块发送设备信息2。
在本申请实施例中,电子设备100附近的其他电子设备可以是指与电子设备100建立短距离通信连接的电子设备。
表3示例性示出了本机设备(即电子设备100)及其获取到的附近设备(例如电子设备200)的设备信息(例如设备名称、设备类型)。
从表3中可以看出,本机设备及其附近设备有两个,一个是设备名称为HuaweiMatebook X,设备类型为PC的电子设备(即电子设备100),另一个是设备名称为Huawei P40Pro,设备类型为手机的电子设备(即电子设备200)。
设备名称 设备类型
Huawei Matebook X 个人计算机(PC)
Huawei P40Pro 手机(phone)
表3
可以理解,表3中仅仅以电子设备100附近的电子设备为电子设备200为例示出了电子设备200的设备信息。电子设备100附近的其他电子设备还可以有更多,电子设备100均可以获取并记录这些电子设备的设备信息。
需要说明的是,本申请实施例对执行步骤S503-步骤S504与执行步骤S505-步骤S508的时间顺序不作限定。在一些实施例中,也可以先执行步骤S505-步骤S508,再执行步骤步骤S503-步骤S504;在另一些实施例中,也可以同时执行步骤S503-步骤S504与步骤S505-步骤S508。
在一些实施例中,电子设备100可以先执行步骤S505-步骤S508,即获取到附近设备的设备信息,之后,步骤S503-步骤S504的执行过程可以为如下过程:电子设备100基于获取到的设备信息向服务器200发送请求,该请求用于指示服务器200向电子设备100发送对应该设备信息的应用程序安装包名称、下载链接等。服务器200接收到该请求后,可以向电子设备100发送对应该设备信息的应用程序安装包名称、下载链接等。
S509、电子设备100显示应用程序1的搜索结果和获取到的附近设备的设备信息列表,其中,该设备信息列表中包括设备信息2。
具体地,同样以应用程序1是“XX视频”应用程序为例,电子设备100在完成步骤S502-步骤S508之后,即电子设备100在获取到前述应用程序1相关信息和附近设备的设备信息之后,电子设备100可以显示应用程序1的搜索结果,例如,图4C示例性所示的“XX视频”应用程序的搜索结果432。其中,关于图4C所示用户界面430的描述可以参照前述相关内容,在此不再赘述。
进一步地,电子设备100可以检测到用户针对图4C中所示的下拉选项434的操作(例如点击操作),响应于该操作,电子设备100可以显示如图6A示例性所示的窗口610,窗口610中可以包括本机设备及其获取到的附近设备的设备信息列表。
可选地,窗口610中可以只包括本机设备的设备名称及本机设备获取到的附近设备的设备名称,例如,电子设备100的设备名称Huawei Matebook X,电子设备200的设备名称Huawei P40 Pro等。
阶段三:应用程序下载与安装阶段
S510-S511、电子设备100检测到用户选择在设备名称2对应的设备上安装应用程序1的操作,响应于该操作,电子设备100基于用户选择的设备确定该设备的设备类型为设备类型2,并进一步确定应用程序1对应设备类型2的下载链接。
具体地,以电子设备100给电子设备200安装“XX视频”应用程序为例,电子设备200的设备名称为设备名称2,设备名称2为Huawei P40 Pro,应用程序1为“XX视频”应用程序。如图6A所示,电子设备100可以检测到用户选择在设备名称2对应的设备上安装“XX视频”应用程序的操作(例如用户点击图6A所示的Huawei P40 Pro选项的操作和用户点击图6B所示的安装选项435的操作),响应于该操作,电子设备100将Huawei P40 Pro选项置于图6B所示的被选中状态,即表示用户选择的设备为Huawei P40 Pro,同时,由于电子设备100提前获取到了附近设备的设备信息(参照表3),因此,电子设备100可以基于用户选择的设备确定该设备的设备类型为设备类型2(即手机),进一步地,由于电子设备100提前获取到了“XX视频”应用程序相关信息(参照表2),因此,电子设备100可以确定“XX视频”应用程序对应设备类型2的下载链接为http://BBBBBB。
可选地,电子设备100也可以基于设备类型2确定应用程序1对应设备类型2的应用程序安装包名称。
在一些实施例中,图6A-图6B示例性所示的界面显示和用户操作的过程的另一种实现方式可以是图4G-图4H示例性所示的界面显示和用户操作的过程,具体可以参照前述内容,在此不再赘述。
S512-S515、电子设备100的应用程序下载模块向电子设备100的设备发现模块发送下载指令2,该指令中包括设备信息2、应用程序1对应设备类型2的下载链接等,电子设备100的设备发现模块接收到该下载指令2后,向电子设备200的设备发现模块发送该下载指令2,电子设备200的设备发现模块接收到该下载指令2后,向电子设备200的应用程序下载模块发送该下载指令2。可选地,电子设备200的应用程序下载模块接收到该下载指令2之后,电子设备200可以显示提示信息,用于提示用户安装应用程序1,并可以检测到用户同意安装应用程序1的操作。
具体地,电子设备100的应用程序下载模块可以向电子设备100的设备发现模块发送下载指令2,该指令中可以包括但不限于电子设备200的设备信息(即设备信息2)、应用程序1对应设备类型2的下载链接(例如“XX视频”应用程序对应设备类型2的下载链接http://BBBBBB)等。
其中,设备信息2中可以包括电子设备200的设备名称、设备ID、媒体访问控制地址等信息。
可选地,下载指令2中还可以包括应用程序1对应设备类型2的应用程序安装包名称。
在本申请实施例中,下载指令2中还可以包括电子设备100的设备信息和账号信息。
电子设备100的设备发现模块接收到该下载指令2后,可以向电子设备200的设备发现模块发送该下载指令2。
可选地,上述下载指令2也可以只包括应用程序1对应设备类型2的下载链接、电子设备200的设备名称。
可选地,上述下载指令2也可以只包括应用程序1对应设备类型2的应用程序安装包名称、电子设备200的设备名称。
电子设备200的设备发现模块接收到该下载指令2后,可以向电子设备200的应用程序下载模块发送该下载指令2。
这样,电子设备100可以通过电子设备100与电子设备200建立的短距离通信连接来通知电子设备200下载安装应用程序1。
在一些实施例中,电子设备200的应用程序下载模块接收到上述下载指令2后,电子设备200可以显示如图4I示例性所示的窗口460,窗口460中可以包括选项461、选项462、提示信息463,用于提示用户下载安装应用程序1。这样,可以给用户选择权,同时也可以提高安全性。电子设备200可以检测到用户同意下载安装应用程序1的操作(例如针对选项461的点击操作),响应于该操作,电子设备200可以执行后续步骤。其中,上述窗口460的显示形式可以为Push通知、显示在用户界面(例如负一屏、锁屏界面、主界面等)上的弹窗等,本申请实施例对此不作限定。
在另一些实施例中,电子设备200的应用程序下载模块接收到上述下载指令2后,电子设备200也可以显示如图6C示例性所示的窗口630,窗口630中可以包括选项631、选项632、提示信息633,用于提示用户下载安装应用程序1。其中,提示信息633中可以包括电子设备100的设备信息(例如电子设备100的设备名称Huawei Matebook X等信息),还可以包括电子设备100的账号信息(例如电子设备100登录的账号名称等)。这样,可以给用户选择权,同时也可以提高安全性。电子设备200可以检测到用户同意下载安装应用程序1的操作(例如针对选项631的点击操作),响应于该操作,电子设备200可以执行后续步骤。其中,上述窗口630的显示形式可以为Push通知、显示在用户界面(例如负一屏、锁屏界面、主界面等)上的弹窗等,本申请实施例对此不作限定。
S516-S518、电子设备200向服务器200发送获取应用程序1对应设备类型2的安装包的请求,其中,该请求中包括应用程序1对应设备类型2的下载链接等,服务器200接收到该请求后,向电子设备200发送应用程序1对应设备类型2的安装包,电子设备100接收到该安装包后,安装应用程序1。
其中,步骤S516-步骤S518的具体执行过程可以参照前述图3A所示实施例中的步骤S318-步骤S320中的相关内容,在此不再赘述。
在一些实施例中,在步骤S514之前,还可以包括:电子设备200在其应用程序下载模块登录账号(例如账号1等)。
S519-S522、电子设备200的应用程序下载模块向电子设备200的设备发现模块发送应用程序1安装成功的指令,电子设备200的设备发现模块接收到该指令后,向电子设备100的设备发现模块发送该指令,电子设备100的设备发现模块接收到该指令后,向电子设备100的应用程序下载模块发送该指令,电子设备100的应用程序下载模块接收到该指令后,显示应用程序1安装成功的指示信息。
具体地,电子设备200在成功安装应用程序1之后,电子设备200的应用程序下载模块可以通过电子设备200的设备发现模块、电子设备100的设备发现模块将应用程序1安装成功的指令发送给电子设备100的应用下载模块,用于向电子设备100通知电子设备200已经成功安装应用程序1。电子设备100接收到上述应用程序1安装成功的指令之后,可以显示图4J示例性所示的应用程序1安装成功的指示信息471,该指示信息用于指示电子设备200已经成功安装应用程序1。也即是说,电子设备100成功为电子设备200安装应用程序1,实现了跨设备应用程序安装。
在一些实施例中,上述安装成功的指令还可以是安装成功的消息。
示例性地,应用程序1为“XX视频”应用程序,如图4K所示,相比于图4B,电子设备200在用户界面420中显示了新增的“XX视频”应用程序的图标422,用于表示电子设备200成功安装“XX视频”应用程序。
需要说明的是,步骤S519-步骤S522是可选的,在一些实施例中,也可以不执行步骤S519-步骤S522,即电子设备200在成功安装应用程序1之后可以不通知电子设备100,电子设备100也不需要显示应用程序1安装成功的指示信息。
在一些实施例中,在电子设备100和电子设备200均登录同一账号的情况下,上述图5所示的阶段三中步骤S510-步骤S522的另一种实现方式也可以是图3A所示实施例中的步骤S313-步骤S323。
实施上述实施例提供的应用程序安装方法,可以将没有关联的多个电子设备(例如本机设备与一个或多个对端设备)通过短距离通信连接来进行关联,建立设备与设备之间的通信通道,从而实现近端跨设备安装应用程序的功能。可以看出,该实施例可以达到与图3A所示实施例相同的技术效果。
在一种可能的实现方式中,图3A所示的实施例与图5所示的实施例可以进行结合,也即是说,电子设备100不仅可以获取到与电子设备100登录同一账号的全部电子设备的设备信息,同时还可以获取到电子设备100附近设备(即与电子设备100建立短距离无线通信连接的设备)的设备信息。进一步地,电子设备100可以将这些设备的设备信息全部显示出来,以供用户选择在哪个/哪些设备上安装应用程序,从而可以同时实现远端和近端跨设备安装应用程序的功能。
在一些实施例中,电子设备100上可以显示与电子设备100登录同一账号和/或建立短距离通信连接的其他电子设备上已经安装的应用程序,以供用户查看。这样,用户可以通过一个电子设备来查看一个或多个其他电子设备上安装的应用程序,同时可以避免用户在忘记某个电子设备上已安装某一应用程序的情况下还触发电子设备执行上述应用程序安装方法。
在另一些实施例中,如图6D示例性所示,电子设备100上可以实时显示电子设备200安装应用程序1的安装进度条641,从图中可以看出,当前电子设备200上应用程序1的安装进度为30%。这样,用户可以实时获知电子设备200上应用程序1的安装进度。
在另一些实施例中,电子设备200上应用程序1安装成功之后,电子设备100也可以显示一个打开选项,在用户点击该选项之后,电子设备200可以直接启动并运行应用程序1。这样,用户可以通过操作电子设备100来指示电子设备200启动并运行应用程序1。
在一种可能的实现方式中,前述图3A、图3B、图5中“电子设备100检测到用户搜索应用程序1的操作”可以被替代为“电子设备100检测到用户选择安装应用程序1的操作”。示例性地,电子设备100可以显示如图6E所示的应用市场的一个用户界面,在该用户界面中可以显示一个或多个应用程序(例如“XX视频”应用程序、“音乐”应用程序、“相机”应用程序、“阅读”应用程序等等),电子设备100可以检测到用户选择安装应用程序1(例如“XX视频”应用程序)的操作(例如点击“XX视频”应用程序对应的安装选项的操作),响应于该操作,电子设备100可以显示如图6F示例性所示的窗口620。
在本申请实施例中,第一电子设备可以是电子设备100,第二电子设备可以是电子设备200,第三电子设备为电子设备300,第一应用程序可以是应用程序1(例如“XX视频”应用程序),服务器可以是服务器100和服务器200,第一账号可以是账号1,第一界面可以是图4C所示的用户界面,或,图6E所示的用户界面,第二界面可以是图4D所示的窗口440,或图4G所示的窗口450,或,图6A所示的窗口610,第一请求可以是图3A中的下载指令1或图5中的下载指令2,第二请求可以是下载指令3(即包括电子设备300的设备信息、应用程序1对应电子设备300的设备类型的下载链接等),第三请求可以是获取应用程序1相关信息的请求,第一操作可以是用户点击图4C所示的选项434(也可以称为第一选项)的操作,或,用户点击图6E所示的“XX视频”应用程序的安装选项(也可以称为第一选项)的操作,第二操作可以是指图4E用户点击安装选项的操作,或,图4H用户点击安装到设备选项的操作,或,用户点击图4D所示的设备选项(例如Huawei P40 Pro选项)的操作,第二选项可以是电子设备100的设备选项(例如Huawei Matebook X选项),第二选项可以是电子设备200的设备选项(例如Huawei P40 Pro选项),第四选项可以是电子设备300的设备选项,第一应用程序的状态信息可以是第一应用程序在第一电子设备上和第二电子设备上已安装或未安装的指示信息,第一提示信息可以是图4I所示的提示信息463,或,图6C所示的提示信息633。
下面介绍本申请实施例提供的一种电子设备100的结构。
图7示例性示出了本申请实施例中提供的一种电子设备100的结构。
如图7所示,电子设备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分离。
应当理解的是,图7所示电子设备100仅是一个范例,并且电子设备100可以具有比图7中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图7中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
其中,电子设备200的结构可以与电子设备100的结构相同或相似,关于电子设备200的结构的相关内容可以参照图7所示的电子设备100的结构的相关文字描述,在此不再赘述。
下面介绍本申请实施例提供的一种电子设备100的软件结构。
图8示例性示出了本申请实施例中提供的一种电子设备100的软件结构。
如图8所示,电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图8所示,应用程序包可以包括相机,图库,日历,通话,地图,应用市场,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图8所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,蓝牙驱动,传感器驱动。
下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
其中,电子设备200的软件结构可以与电子设备100的软件结构相同或相似,关于电子设备200的软件结构的相关内容可以参照图8所示的电子设备100的软件结构的相关文字描述,在此不再赘述。
下面介绍本申请实施例提供的另一种电子设备100的结构。
图9示例性示出了本申请实施例中提供的另一种电子设备100的结构。
如图9所示,电子设备100可以包括:应用程序下载模块901、设备发现模块902。
应用程序下载模块901可以用于下载安装各类应用程序、为其他设备安装各类应用程序、接收和/或发送相关指令、请求等。在本申请实施例中,应用程序下载模块901可以为电子设备100上的应用市场这一应用程序。
设备发现模块902可以用于负责附近设备的互相发现,并在不同电子设备之间建立短距离通信连接,接收和/或发送相关指令、请求等。在本申请实施例中,设备发现模块902可以为Wi-Fi模块、蓝牙模块、NFC模块等。
关于电子设备100的功能和工作原理的更多细节,可以参照上述各个实施例中的相关内容,在此不再赘述。
其中,电子设备200也可以包括应用程序下载模块、设备发现模块,关于这两个模块的功能和工作原理的更多细节,可以参照上述各个实施例中的相关内容,在此不再赘述。
下面介绍本申请实施例提供的一种服务器200的结构。
图10示例性示出了本申请实施例提供的一种服务器200的结构。
如图10所示,服务器200可以包括:一个或多个处理器1001、存储器1002、通信接口1003、发射器1005、接收器1006、耦合器1007、天线1008。这些部件可通过总线1004或者其他方式连接,图10以通过总线连接为例。其中:
通信接口1003可用于服务器200与其他通信设备,例如电子设备100、电子设备200等,进行通信。具体地,通信接口1003可以是3G通信接口、4G通信接口、5G通信接口,也可以是未来新空口的通信接口等。不限于无线通信接口,服务器200还可以配置有有线的通信接口1003,例如局域接入网(local access network,LAN)接口。发射器1005可用于对处理器1001输出的信号进行发射处理。接收器1006可用于对天线1008接收的移动通信信号进行接收处理。
在本申请的一些实施例中,发射器1005和接收器1006可看作一个无线调制解调器。在服务器200中,发射器1005和接收器1006的数量均可以是一个或者多个。天线1008可用于将传输线中的电磁能转换成自由空间中的电磁波,或者将自由空间中的电磁波转换成传输线中的电磁能。耦合器1007用于将天线1008接收到的移动通信信号分成多路,分配给多个的接收器1006。
存储器1002与处理器1001耦合,用于存储各种软件程序和/或多组指令。具体地,存储器1002可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器1002可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个终端设备,一个或多个网络设备进行通信。
在本申请的一些实施例中,存储器1002可用于存储本申请的一个或多个实施例提供的应用程序安装方法在服务器200侧的实现程序。关于本申请的一个或多个实施例提供的应用程序安装方法的实现,请参考上述实施例。
处理器1001可用于读取和执行计算机可读指令。具体地,处理器1001可用于调用存储于存储器1002中的程序,例如本申请的一个或多个实施例提供的应用程序安装方法在服务器200侧的实现程序,并执行该程序包含的指令。
需要说明的是,图10所示的服务器200仅仅是本申请实施例的一种实现方式,实际应用中,服务器200还可以包括更多或更少的部件,在此不作限定。
关于服务器200的功能和工作原理的更多细节,可以参照上述各个实施例中的相关内容,在此不再赘述。
其中,服务器100的结构可以与服务器200的结构相同或相似,关于服务器100的结构相关内容可以参照图10所示的服务器200的结构的相关文字描述,在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solidstate disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (15)

1.一种应用程序安装方法,应用于第一电子设备,其特征在于,所述方法包括:
所述第一电子设备显示应用市场程序的第一界面,所述第一界面包括第一应用程序的图标和所述第一应用程序对应的第一选项;
所述第一电子设备检测到用户针对所述第一选项的第一操作;
响应于所述第一操作,所述第一电子设备显示所述应用市场程序的第二界面,所述第二界面包括用于标识所述第一电子设备的第二选项和用于标识所述第二电子设备的第三选项,所述第三选项是基于所述第二电子设备的设备信息生成的,所述第二电子设备的设备信息是所述第一电子设备从服务器或所述第二电子设备获取的;
所述第一电子设备检测到用户的第二操作;
响应于所述第二操作,所述第一电子设备向所述第二电子设备发送第一请求,所述第一请求用于指示所述第二电子设备安装与所述第二电子设备对应的所述第一应用程序。
2.根据权利要求1所述的方法,其特征在于,在所述第一电子设备检测到用户的第二操作之前,所述方法还包括:
所述第一电子设备检测到用户针对所述第三选项的操作。
3.根据权利要求1所述的方法,其特征在于,所述第二界面还包括:用于标识第三电子设备的第四选项,在所述第一电子设备检测到用户的第二操作之前,所述方法还包括:
所述第一电子设备检测到用户针对所述第三选项和所述第四选项的操作;响应于所述第二操作,所述第一电子设备还向所述第三电子设备发送第二请求,所述第二请求用于指示所述第三电子设备安装与所述第三电子设备对应的所述第一应用程序。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述第一电子设备显示应用市场程序的第一界面之前,所述方法还包括:
所述第一电子设备获取用户输入的关键词,并基于所述关键词搜索所述第一应用程序。
5.根据权利要求1-4任一项所述的方法,其特征在于,在所述第一电子设备检测到用户针对所述第一选项的第一操作之前,所述方法还包括:
所述第一电子设备登录第一账号,所述第一账号和所述第二电子设备相关联;
所述第一电子设备通过服务器获取所述第二电子设备的设备信息。
6.根据权利要求5所述的方法,其特征在于,所述第一电子设备向所述第二电子设备发送第一请求,具体包括:
所述第一电子设备通过服务器向所述第二电子设备发送所述第一请求,所述第一请求中包括与所述第二电子设备对应的所述第一应用程序的信息。
7.根据权利要求1-4任一项所述的方法,其特征在于,在所述第一电子设备显示应用市场程序的第一界面之前,所述方法还包括:
所述第一电子设备与所述第二电子设备建立短距离通信连接;所述第一电子设备通过短距离通信连接获取所述第二电子设备的设备信息。
8.根据权利要求7所述的方法,其特征在于,所述第一电子设备向所述第二电子设备发送第一请求,具体包括:
所述第一电子设备基于所述短距离通信连接向所述第二电子设备发送所述第一请求,所述第一请求中包括与所述第二电子设备对应的所述第一应用程序的信息。
9.根据权利要求1-8任一项所述的方法,其特征在于,在所述第一电子设备显示应用市场程序的第二界面之前,所述方法还包括:
所述第一电子设备向服务器发送第三请求,所述第三请求用于从所述服务器获取所述第一应用程序的信息;
所述第一电子设备接收所述服务器发送的所述第一应用程序的信息,所述第一应用程序的信息包括与所述第一电子设备对应的第一应用程序的信息及与所述第二电子设备对应的第一应用程序的信息。
10.根据权利要求9所述的方法,其特征在于,所述第三请求中包括所述第二电子设备的设备信息和第一电子设备的设备信息。
11.根据权利要求9或10所述的方法,其特征在于,第二界面还包括所述第一应用程序的状态信息,所述第一应用程序的状态信息包括所述第一应用程序已安装的指示信息,或所述第一应用程序未安装的指示信息。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述方法还包括:
所述第一电子设备接收所述第二电子设备发送的所述第一应用程序安装成功的消息,并显示所述第二电子设备安装所述第一应用程序成功的指示信息。
13.根据权利要求1-12任一项所述的方法,其特征在于,所述第二界面中还包括所述第一应用程序的安装进度信息。
14.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器;其中,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-13中任一项所述的方法。
15.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述程序指令在电子设备上运行时,使得所述电子设备执行如权利要求1-13中任一项所述的方法。
CN202111383611.5A 2021-09-24 2021-11-19 应用程序安装方法及相关设备 Pending CN115857964A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/119661 WO2023045876A1 (zh) 2021-09-24 2022-09-19 应用程序安装方法及相关设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111126103 2021-09-24
CN2021111261039 2021-09-24

Publications (1)

Publication Number Publication Date
CN115857964A true CN115857964A (zh) 2023-03-28

Family

ID=85652764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111383611.5A Pending CN115857964A (zh) 2021-09-24 2021-11-19 应用程序安装方法及相关设备

Country Status (2)

Country Link
CN (1) CN115857964A (zh)
WO (1) WO2023045876A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105204885A (zh) * 2014-06-30 2015-12-30 宇龙计算机通信科技(深圳)有限公司 跨平台关联设备间的应用的安装方法及其系统
KR102320151B1 (ko) * 2015-02-16 2021-11-01 삼성전자주식회사 어플리케이션을 설치하는 전자 장치 및 그 제어 방법
CN104850463B (zh) * 2015-06-08 2019-11-15 三星电子(中国)研发中心 应用程序共享方法及装置
CN105389175A (zh) * 2015-09-25 2016-03-09 深圳市金立通信设备有限公司 一种应用程序共享方法及移动终端
CN114968614A (zh) * 2020-02-27 2022-08-30 华为技术有限公司 多设备之间的应用互动方法及相关设备

Also Published As

Publication number Publication date
WO2023045876A1 (zh) 2023-03-30

Similar Documents

Publication Publication Date Title
CN113542839B (zh) 电子设备的投屏方法和电子设备
CN114546190A (zh) 一种应用显示方法及电子设备
WO2019072178A1 (zh) 一种通知处理方法及电子设备
CN113885759A (zh) 通知消息处理方法、设备、系统及计算机可读存储介质
WO2021159746A1 (zh) 文件共享方法、系统及相关设备
CN113961157B (zh) 显示交互系统、显示方法及设备
CN113691842A (zh) 一种跨设备的内容投射方法及电子设备
CN112130788A (zh) 一种内容分享方法及其装置
CN112445762A (zh) 一种移动终端的文件共享方法及设备
CN112543447A (zh) 基于通讯录的设备发现方法、音视频通信方法及电子设备
CN113821767A (zh) 应用程序的权限管理方法、装置和电子设备
CN114115770A (zh) 显示控制的方法及相关装置
CN114995715B (zh) 悬浮球的控制方法和相关装置
CN113973398A (zh) 无线网络连接方法、电子设备及芯片系统
CN111492678B (zh) 一种文件传输方法及电子设备
CN111132047A (zh) 网络连接方法及装置
CN114064160A (zh) 应用图标布局方法及相关装置
WO2022062902A1 (zh) 一种文件传输方法和电子设备
WO2021218544A1 (zh) 一种提供无线上网的系统、方法及电子设备
CN113645595B (zh) 设备交互方法和装置
CN113467821A (zh) 应用程序的修复方法、装置、设备及可读存储介质
WO2023045876A1 (zh) 应用程序安装方法及相关设备
CN114006969B (zh) 一种窗口启动方法和电子设备
CN113271577B (zh) 媒体数据播放系统、方法及相关装置
WO2022222733A1 (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