CN114185569B - 启动应用的方法及电子设备 - Google Patents
启动应用的方法及电子设备 Download PDFInfo
- Publication number
- CN114185569B CN114185569B CN202210142235.9A CN202210142235A CN114185569B CN 114185569 B CN114185569 B CN 114185569B CN 202210142235 A CN202210142235 A CN 202210142235A CN 114185569 B CN114185569 B CN 114185569B
- Authority
- CN
- China
- Prior art keywords
- application
- mobile phone
- electronic device
- information
- directory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000004891 communication Methods 0.000 claims abstract description 32
- 238000009434 installation Methods 0.000 claims description 223
- 238000001514 detection method Methods 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 abstract description 3
- 230000003993 interaction Effects 0.000 description 44
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 20
- 238000005538 encapsulation Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 238000004806 packaging method and process Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 238000004140 cleaning Methods 0.000 description 7
- 238000007405 data analysis Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种启动应用的方法及电子设备。采用本申请实施例中的方法,当第一电子设备与第二电子设备处于近场通信NFC状态,且第一电子设备与第二电子设备发生触碰时,若第一电子设备和第二电子设备均满足由第二电子设备控制第一电子设备启动第一应用的触发条件,第二电子设备发送第一信息,第一电子设备根据第一信息,确定第一电子设备中待启动的第一应用的来源,基于第一电子设备中第一应用的来源,启动第一应用。本申请实施例中启动应用的方法,通过两个设备之间的触碰操作,可以触发第二电子设备控制第一电子设备启动第一应用,无需通过人工触摸图标的方式启动第一应用,启动第一应用的速度快。
Description
技术领域
本申请涉及终端领域,尤其涉及一种启动应用的方法及电子设备。
背景技术
目前电子设备上安装的应用与人们的日常生活关系密切。随着电子设备的存储容量的增大,被允许安装的应用程序也随之增加。
当多个用户聚会时,若某个用户希望和其他用户组队游戏时,该用户需要在电子设备的主屏页面中翻找对应的应用图标,通过点击触摸屏上应用的图标启动应用,启动应用的速度慢。
发明内容
本申请实施例提供了一种优化的启动应用的方法及电子设备。
在一些场景中,某个用户的手机A运行应用C时,若其他用户的手机(如手机B)若要运行应用C时,需要用户手动在手机的桌面查找应用C的图标并通过点击图标的方式启动应用C。若手机B中没有安装应用C,则需要用户手动在应用市场搜寻该应用C,从应用市场下载应用C的安装数据安装,在安装完毕后,还需要用户手动在手机B启动应用C,以上的方式导致手机B不能快速启动应用C。本申请的一些实施例,可以基于手机B中的不同情况,快速在手机B中启动应用C。
第一方面,本申请实施例提供一种启动应用的方法,应用于第一电子设备,包括:当第一电子设备与第二电子设备处于近场通信NFC状态,若第一电子设备检测到与第二电子设备发生触碰操作,则第一电子设备获取第一电子设备的状态信息,并基于NFC通道向第二电子设备发送第一电子设备的状态信息,以供第二电子设备判断第一电子设备与第二电子设备是否均满足由第二电子设备控制第一电子设备启动第一应用的触发条件,其中,第一电子设备的状态信息包括用于指示第一电子设备是否处于亮屏的信息以及用于指示第一电子设备的前台是否运行有应用程序的信息;在第二电子设备确定第一电子设备和第二电子设备均满足触发条件的情况下,第一电子设备基于NFC通道接收由第二电子设备发送的第一信息;从第一信息中获取第二电子设备的系统版本信息、第一应用在第二电子设备中的安装目录信息以及第一应用在第二电子设备中的包名;判断第一电子设备的系统版本信息是否与第二电子设备的系统版本信息匹配,获取判断结果;根据判断结果、第一应用在第二电子设备中的安装目录信息以及第一应用在第二电子设备中的包名,检测第一电子设备中是否存在第一应用,获得检测结果;根据判断结果以及检测结果,确定第一应用的来源;第一电子设备根据第一应用的来源,启动第一应用。
这样,第一信息中包括第二电子设备的系统版本信息、第一应用在第二电子设备中的安装目录信息以及第一应用在第二电子设备中的包名。由于电子设备的运行的系统版本不同,会导致同一应用在不同系统版本下的安装包(如安装包的格式)不同,通过匹配第一电子设备的系统版本信息和第二电子设备的系统版本信息,可以判断出第二电子设备中的第一应用的安装包是否适用于第一电子设备,便于第一电子设备可以准确在第一电子设备中搜寻第一应用,避免因安装包的格式不同导致搜寻失败的问题。同时,第一电子设备通过第一应用在手机A中的安装目录信息,可以缩小在第一电子设备中搜寻第一应用的范围,提高基于第一应用的包名在第一电子设备中搜寻第一应用的速度。当第一电子设备确定第一电子设备中第一应用的来源后,第一电子设备可以基于第一应用的不同来源的情况,启动第一应用。第一电子设备通过第二电子设备发送的第一信息,启动第一应用,无需人工手动启动第一应用,实现了第二设备跨设备控制第一电子设备启动第一应用的方式。同时基于第一应用的不同来源启动第一应用,也提高了第二电子设备控制第一电子设备启动第一应用的适用场景。第一应用的来源如可以来源于第二电子设备、第一电子设备本身以及服务器。另外,通过第一电子设备与第二电子设备之间的触碰,触发第二电子设备控制第一电子设备启动第一应用,无需人工查找第一电子设备中是否存在第一应用的图标,也无需人工在应用市场搜寻第一应用,提高了第一电子设备启动第一应用的速度,提高用户使用的体验。另外,本示例中,也可以有多个待启动第一应用的电子设备,使得多个待启动第一应用的电子设备均可以快速启动第一应用,进一步增加该启动应用的方法的适应场景。
根据第一方面,触发条件包括:第一电子设备处于亮屏的状态且第一电子设备的前台未运行应用程序,且第二电子设备的前台运行有第一应用。这样,第二电子设备前台运行有第一应用,可以确保后续第一电子设备启动的第一应用与第二电子设备运行的第一应用相同,满足多设备同时运行第一应用的用户需求。第一电子设备处于亮屏状态且前台无应用程序运行,可以确保第二电子设备控制第一电子设备启动第一应用的过程不会被其他应用程序打断,提升第二电子设备控制第一电子设备启动第一应用的准确性。
根据第一方面,根据判断结果以及检测结果,确定第一应用的来源,包括:若检测结果指示第一电子设备中存在第一应用,则确定第一应用的来源为第一电子设备;若检测结果指示第一电子设备中不存在第一应用且判断结果指示第一电子设备的系统版本信息与第二电子设备的系统版本信息匹配,则确定第一应用的来源为第二电子设备;若检测结果指示第一电子设备中不存在第一应用且判断结果指示第一电子设备的系统版本信息与第二电子设备的系统版本信息不匹配,则确定第一应用的来源为应用市场对应的服务器。
这样,若检测结果指示第一电子设备中存在第一应用,则该第一电子设备启动的第一应用来源于该第一电子设备。当第一电子设备的系统版本信息与第二电子设备的系统版本信息匹配,且第一电子设备中不存在第一应用,第一电子设备待启动的第一应用可以从第二电子设备中获取,第一电子设备无需在应用市场中搜寻第一应用,缩短了获取第一应用的时间,进而提高第一电子设备启动第一应用的速度。当第一电子设备的系统版本信息与第二电子设备的系统版本信息不匹配,且第一电子设备中不存在第一应用,确定第一电子设备可以从服务器获取第一应用,避免了第一电子设备安装不了第二电子设备发送的第一应用的安装数据的问题,避免第二电子设备传输无效的安装数据的问题,减少不必要的数据传输。
根据第一方面,系统版本信息包括:操作系统的类型;判断第一电子设备的系统版本信息是否与第二电子设备的系统版本信息匹配,获取判断结果,包括:判断第一电子设备的系统类型是否与第二电子设备的系统类型相同,若确定第一电子设备的系统类型与第二电子设备的系统类型相同,则确定判断结果指示第一电子设备的系统版本信息与第二电子设备的系统版本信息匹配;若确定第一电子设备的系统类型与第二电子设备的系统类型不相同,则确定判断结果指示第一电子设备的系统版本信息与第二电子设备的系统版本信息不匹配。
根据第一方面,根据判断结果、第一应用在第二电子设备中的安装目录信息以及第一应用在第二电子设备中的包名,检测第一电子设备中是否存在第一应用,获得检测结果,包括:根据判断结果,确定用于查询第一应用的目标包名;根据安装目录信息,确定在第一电子设备中的待查询目录;在第一电子设备的待查询目录中查询是否存在目标包名,若查询到存在目标包名,则确定检测结果指示第一电子设备存在第一应用,若未查询到目标包名,则确定检测结果指示第一电子设备不存在第一应用。这样,第一电子设备基于判断结果可以确定出第一应用准确的目标包名,避免在查询时使用错误的包名导致查询结果错误的问题。同时第一电子设备基于安装目录信息,可以确定出第一应用查询的目录,缩小查询的范围,提高查询的速度。
根据第一方面,根据判断结果,确定用于查询第一应用的目标包名,包括:若检测到判断结果指示第一电子设备的系统版本信息与第二电子设备的系统版本信息匹配,将第一应用的包名作为目标包名;若检测到判断结果指示第一电子设备的系统版本信息与第二电子设备的系统版本信息不匹配,则将第一应用的包名转换为与第一电子设备的系统版本信息匹配的包名,并将转换后的包名作为目标包名。这样,由于不同系统版本信息下同一应用的包名不同,第一电子设备通过转换包名,可以得到在第一设备中第一应用的准确包名,将该转换后的包名作为查询的目标包名,提高查询的准确性。
根据第一方面,根据安装目录信息,确定在第一电子设备中的待查询目录,包括:根据安装目录信息,判断第一应用是否安装在第二电子设备的预制应用目录下;若确定第一应用安装在第二电子设备的预制应用目录下,则将第一电子设备的预制应用目录作为待查询目录;若确定第一应用未安装在第二电子设备的预制应用目录下,则将第一电子设备的第三方应用目录作为待查询目录。这样,由于同一应用通常安装的路径类似,基于此,第一电子设备基于第一应用在第二电子设备中的安装目录信息,可以快速确定出第一电子设备中查询第一应用的待查询目录,进而提高在第一电子设备中查询第一应用的速度。
根据第一方面,在第一电子设备的待查询目录中查询是否存在目标包名,包括:对待查询目录下各应用程序的包名进行排序;对排序后的各应用程序的包名进行二分查找,查找是否存在目标包名。这样,第一电子设备通过二分查找的方式可以快速查找目标包名,缩短查找的时间。
根据第一方面,第一电子设备根据第一应用的来源,启动第一应用,包括:若确定第一应用的来源为第二电子设备,则第一电子设备向第二电子设备请求获取第一应用的安装数据,第二电子设备响应于第一电子设备的获取请求生成第一应用的安装数据,并向第一电子设备发送第一应用的安装数据;接收第一应用的安装数据;运行第一应用的安装数据以对第一应用进行安装,并启动第一应用。这样,第一电子设备基于NFC通道快速获取到第一应用的安装数据,安装该第一应用并启动第一应用,无需人工去应用市场查询第一应用以及从应用市场下载第一应用,缩短获取第一应用的速度,进而提高启动第一应用的速度。
根据第一方面,第一电子设备根据第一应用的来源,启动第一应用,包括:若确定第一应用的来源为应用市场对应的服务器,第一电子设备向服务器请求搜索第一应用的安装数据,服务器响应于第一电子设备的搜索请求,向第一电子设备反馈搜索结果;接收搜索结果;若检测到搜索结果指示搜索到第一应用,则第一电子设备从服务器下载第一应用的安装数据;运行第一应用的安装数据以对第一应用进行安装,并启动第一应用。这样,无需人工手动向服务器搜寻第一应用,减少人工参与的步骤,进而提高第一电子设备获取第一应用的速度。
根据第一方面,在第一电子设备检测到与第二电子设备发生触碰操作之后,且在第一电子设备获取第一电子设备的状态信息之前,包括:在第一电子设备的显示屏中显示第一提示信息,第一提示信息用于提示用户是否同意由第二电子设备控制第一电子设备启动第一应用;接收到用户输入的同意由第二电子设备控制第一电子设备启动第一应用的操作。这样,当第一电子设备接收到用户同意的操作后,再获取第一电子设备的状态信息,使得通过第二电子设备控制第一电子设备启动第一应用符合用户的需求,避免因意外碰撞导致第一电子设备启动第一应用的问题。
根据第一方面,若确定第一应用的来源为第二电子设备,该方法还包括:在第一电子设备的显示屏上显示第二提示信息,第二提示信息用于指示第一电子设备当前处于接收第一应用的安装数据的状态;若确定第一应用的来源为应用市场对应的服务器,该方法还包括:在第一电子设备的显示屏上显示第三提示信息,第三提示信息用于指示第一电子设备下载第一应用的安装数据的下载进度;在启动第一应用之后,该方法还包括:删除第一应用的临时数据,第一应用的临时数据包括:第一信息,或者第一信息和第一应用的安装数据。这样,第一电子设备通过显示第二提示信息,避免用户启动其他应用而打断安装数据的传输;第一电子设备通过显示第三提示信息,使得用户可以获知下载进度,提高用户的使用体验;第一电子设备删除临时数据,减少不必要的数据的存储。
根据第一方面,若检测到搜索结果指示未搜索到第一应用,该方法包括:在第一电子设备的显示屏上显示搜索结果。这样,第一电子设备显示搜索结果,使得用户可以直观获知搜索结果,避免用户手动进行搜索的情况。
第二方面,本申请实施例提供一种启动应用的方法,应用于第二电子设备,包括:当第二电子设备与第一电子设备处于近场通信NFC状态,若第二电子设备检测到与第一电子设备发生触碰操作,则第二电子设备获取第二电子设备的状态信息,其中,第二电子设备的状态信息包括用于指示第二电子设备的前台是否运行第一应用的信息;响应于第一电子设备基于NFC通道发送的第一电子设备的状态信息,判断第一电子设备与第二电子设备是否均满足由第二电子设备控制第一电子设备启动第一应用的触发条件,第一电子设备的状态信息包括用于指示第一电子设备是否处于亮屏的信息以及用于指示第一电子设备的前台是否运行有应用程序的信息;若确定第一电子设备与第二电子设备是否均满足触发条件,则生成第一信息,第一信息包括第二电子设备的系统版本信息、第一应用在第二电子设备中的安装目录信息以及第一应用在第二电子设备中的包名;基于NFC 通道向第一电子设备发送第一信息,以供第一电子设备基于第一信息确定第一电子设备获取第一应用的来源,第一电子设备根据第一应用的来源,启动第一应用。
第二方面的实现方式分别与第一方面以及第一方面的实现方式相对应。第二方面的实现方式所对应的技术效果可参见上述第一方面的实现方式所对应的技术效果,此处不再赘述。
根据第二方面,响应于第一电子设备发送的第一电子设备的状态信息,判断第一电子设备与第二电子设备是否均满足由第二电子设备控制第一电子设备启动第一应用的触发条件,包括:检测第二电子设备的运行状态,获得第二电子设备的状态信息;若确定第二电子设备的状态信息指示第二电子设备的前台运行第一应用,以及确定第一电子设备的状态信息指示第一电子设备处于亮屏状态且第一电子设备的前台未运行有应用程序,则确定第一电子设备与第二电子设备是否均满足由第二电子设备控制第一电子设备启动第一应用的触发条件。这样,在第二电子设备确定第一电子设备处于亮屏状态且前台无应用程序运行,可以确保第二电子设备控制第一电子设备启动第一应用的过程不会被其他应用程序打断,提升第二电子设备控制第一电子设备启动第一应用的准确性。
根据第二方面,在第二电子设备检测到与第一电子设备发生触碰操作之后,且在第二电子设备获取第二电子设备的状态信息之前,该方法还包括:在第二电子设备的显示屏中显示第一提示信息,第一提示信息用于提示用户是否同意由第二电子设备控制第一电子设备启动第一应用;接收到用户输入的同意由第二电子设备控制第一电子设备启动第一应用的操作。这样,当第二电子设备接收到用户同意的操作后,再获取第二电子设备的状态信息,使得第二电子设备控制第一电子设备启动第一应用符合用户的需求,避免因意外碰撞导致第二电子设备控制第一电子设备启动第一应用的问题。
根据第二方面,若第一电子设备确定第一应用的来源为第二电子设备,则由第一电子设备向第二电子设备发送获取第一应用的安装数据的请求;该方法还包括:响应于第一电子设备发送的获取请求,生成第一应用的安装数据;基于NFC通道向第一电子设备传输第一应用的安装数据,由第一电子设备运行第一应用的安装数据以对第一应用进行安装,第一电子设备启动第一应用。这样,第二电子设备接收到获取请求后,生成第一应用的安装数据,并将该第一应用的安装数据发送至第一电子设备,减少了第一电子设备获取第一应用的安装数据的时间,进而提高第一电子设备启动第一应用的速度。
根据第二方面,响应于第一电子设备发送的获取请求,生成第一应用的安装数据,包括:获取第一应用的包名;根据第二电子设备的系统类型组装第一应用的包名,生成第一应用的安装包包名;获取第一应用在第二电子设备的安装目录下的数据;将第一应用在第二电子设备的安装目录下的数据进行封装;以第一应用的安装包包名命名封装包。这样,第二电子设备生成的第一应用的安装包包名的唯一性,避免与第一电子设备中其他应用的安装包包名发生冲突,影响第一应用的安装的问题。
第三方面,本申请提供了一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得电子设备执行第一方面或第一方面的任意可能的实现方式中的启动应用的方法,或者,执行第二方面或第二方面的任意可能的实现方式中的启动应用的方法。
第四方面,本申请提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令,或者执行第二方面或第二方面的任意可能的实现方式中的方法的指令。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1 为示例性示出的一种启动应用程序的场景示意图;
图2是示例性示出的电子设备的结构示意图;
图3是示例性示出的电子设备的软件结构框图;
图4为示例性示出的手机A和手机B执行启动应用的方法的交互示意图;
图5为示例性示出的手机B确定获取应用C的来源的流程图;
图6为示例性示出的一种手机B判断手机B中是否存在应用C的流程图;
图7为示例性示出的另一种手机B判断手机B中是否存在应用C的流程图;
图8为示例性示出的一种手机A生成应用C的安装数据的流程图;
图9为示例性示出的手机A基于NFC通道向手机B发送第一信息的示意图;
图10为示例性示出的手机B启动应用的一种场景示意图;
图11为示例性示出的手机B从手机A获取游戏D的安装数据,并启动游戏D的场景示意图;
图12为示例性示出的手机B从服务器获取游戏D的安装数据,并启动游戏D的场景示意图;
图13为示例性示出的一种手机B提示正在下载的界面示意图;
图14为示例性示出的一种手机B提示服务器未搜索到第一应用的界面示意图;
图15为示例性示出的手机A与手机B执行本申请中启动应用的方法的整体流程图;
图16为示例性示出的手机B判断手机B中是否存在应用C的流程图;
图17为示例性示出的手机B从云端下载应用C的流程图;
图18为示例性示出的手机A生成应用C的安装数据的流程图;
图19为示例性示出的情况1对应场景的手机A与手机B之间内部模块之间的交互示意图;
图20为示例性示出的情况2对应场景的手机A与手机B之间内部模块之间的交互示意图;
图21为示例性示出的情况3对应场景的手机A与手机B之间内部模块之间的交互示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为示例性示出的一种启动应用程序的场景示意图。该示例中,多个用户聚会,用户1手持手机A,用户2手持手机B。如图1所示,该手机A正在运行游戏C,用户2欲加入用户1的游戏队伍,即在同一时段内(如11:00~12:00的时段内)手机A和手机B各自运行游戏C。此时,若用户2的手机内安装有游戏C,需要用户2在手机B的桌面上查找该游戏C的图标,如图1所示,由用户2点击游戏C的图标,当手机B接收到用户2点击游戏C的图标的操作时,手机B启动该游戏C。若手机B未安装游戏C时,需要用户2通过触摸操作从应用市场下载游戏C并启动游戏C。
由于手机B启动游戏C的过程中,需要用户2在众多的应用图标中查找游戏C的图标,增加了启动游戏C的时长。另外,若手机B中未安装游戏C,还需要用户2手动在应用市场搜索游戏C、操作手机B从应用市场下载和安装游戏C,最后还需要用户2手动在手机B上启动游戏C,增加了启动该游戏C的时长,影响用户的启动应用的使用体验。
本申请一些实施例提供了一种启动应用的方法,该启动应用的方法由电子设备执行,使得电子设备可以快速启动相邻设备正在运行的应用程序,提高启动应用程序的速度。
在一些实施例中可以以两个电子设备(如手机A和手机B)为例说明该启动应用的方法的应用场景,如以下3个应用场景:
场景1:手机A正在运行软件C,手机B处于亮屏状态(解锁状态)且手机B的前台无应用程序运行,手机B中安装有软件C。当手机A与手机B之间发生触碰(在用户的操作下),手机A和手机B的界面各自弹出提示框,如提示框中显示的提示信息包括“是否同意进行NFC操作应用C”的信息、显示“同意”字样的按钮,以及显示有“取消”字样的按钮。若手机B和手机A均接收到用户点击“同意”字样的按钮,手机B上打开软件C。若手机B或者手机A两个电子设备中任一电子设备接收到用户点击“取消”字样的按钮,则手机B不打开软件C。
场景2:手机A和手机B中运行的操作系统的类型相同(如均运行安卓系统),手机A正在运行软件C,手机B处于亮屏状态(解锁状态)且手机B的前台无应用程序运行,手机B中未安装有软件C。当手机A与手机B之间发生触碰,手机A和手机B的界面各自弹出提示框,如提示框中显示的提示信息包括“是否同意进行NFC操作应用C”的信息、显示“同意”字样的按钮,以及显示有“取消”字样的按钮。若手机B和手机A均接收到用户点击“同意”字样的按钮,手机A向手机B传输软件C的安装数据,手机B运行该安装数据以安装该软件C,在软件C安装完毕后手机B打开软件C。若手机B或者手机A两个电子设备中任一电子设备接收到用户点击“取消”字样的按钮,则手机A不向手机B传输软件C的安装数据。
场景3:手机A和手机B中运行的操作系统的类型相异(如均运行安卓系统),手机A正在运行软件C,手机B处于亮屏状态(解锁状态)且手机B的前台无应用程序运行,手机B中未安装有软件C。当手机A与手机B之间发生触碰,手机A和手机B的界面各自弹出提示框,如提示框中显示的提示信息包括“是否同意进行NFC操作应用C”的信息、显示“同意”字样的按钮,以及显示有“取消”字样的按钮。若手机B和手机A均接收到用户点击“同意”字样的按钮,手机B从应用市场对应的服务器下载软件C的安装包,运行该软件C的安装包以安装该软件C,在软件C安装完毕后手机B打开软件C。若手机B或者手机A两个电子设备中任一电子设备接收到用户点击“取消”字样的按钮的操作,则手机B不下载软件C的安装数据。
在上述各场景中,对于手机B的用户而言,要快速在手机B上启动软件C,该用户可以只需做如下2个动作:把手机B靠近手机A,在手机B弹出的提示框中点击“同意”按钮。用户的操作步骤更少更便捷,提高了在手机B上启动和手机A上正在运行的软件相同的软件的启动效率。
图2示出了电子设备100的结构示意图。应该理解的是,图2所示电子设备100仅是电子设备的一个范例,并且电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图2中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备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的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图3是本申请实施例的电子设备100的软件结构框图。
电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图3所示,应用程序层可以包括一系列应用程序包。应用程序包可以包括跨设备应用信息管理模块,游戏,NFC,地图,图库,导航,蓝牙及视频等应用程序。该跨设备应用信息管理模块可以用于跨设备启动应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,资源管理器,NFC通信模块,电话管理器,视图系统等。NFC通信模块可以建立NFC通信通道,以供多个电子设备进行信息交互。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,Wi-Fi驱动,蓝牙驱动,音频驱动,传感器驱动等。
可以理解的是,图3示出的软件结构中的层以及各层中包含的部件,并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。
在本申请实施例中,电子设备以手机为例进行说明。在其他实施例中,电子设备也可以是平板、智能穿戴设备(如智能手表)等。在本申请实施例中,以手机A与手机B之间跨设备启动应用为例进行说明,在其他实施例中,还可以是多个电子设备之间的跨设备启动应用。
图4为示例性示出的手机A和手机B执行启动应用的方法的交互示意图。本示例中,
该启动应用的方法包括以下步骤:
步骤401:手机A和手机B各自检测到触碰且检测到各自的NFC功能被打开。
示例性地,手机A中的NFC应用已被启动(即手机A处于NFC状态),手机B中的NFC应用已被启动(即手机B处于NFC状态)。当手机A和手机B之间发生触碰,手机A检测到手机A发生了触碰事件,该手机A可以检测手机A的NFC应用是否处于运行的状态(即检测到手机A是否处于NFC状态)。若手机A检测到手机A发生了触碰事件且检测到手机A中NFC应用处于运行的状态,则执行步骤402。其中,手机A中可以通过触碰传感器检测触碰事件。
同理,当手机A与手机B之间发生触碰,该手机B可以检测手机B的NFC应用是否处于运行的状态(即检测到手机B是否处于NFC状态)。手机B若检测到手机B发生了触碰事件且检测到手机B中的NFC应用处于运行状态,则手机B执行步骤403。其中,
手机B中可以通过触碰传感器检测触碰事件。
举例来说,用户A和用户B聚会,用户A的手机A正在运行应用C(即第一应用)。用户B使用手机B触碰手机A,该手机A检测到手机A发生了触碰事件,继续检测手机A中的NFC应用是否处于运行状态。若手机A检测到手机A中的NFC应用处于运行状态(即手机A检测到NFC功能被打开),则手机A执行步骤402,即手机A提示用户是否同意通过NFC应用操作应用C的提示信息。用户B使用手机B触碰手机A时,手机B检测到手机B发生触碰事件,则手机B继续检测手机B中NFC应用是否处于运行状态。若手机B检测到NFC应用处于运行状态,则手机B执行步骤403,即手机B提示用户是否同意通过NFC应用操作应用C的提示信息。
步骤402:手机A提示用户是否同意通过NFC操作应用C的提示信息。
示例性地,该提示信息用于提示用户是否同意通过NFC操作应用C,该提示信息可以在手机A的显示屏中显示。该提示信息中还可以包括用于指示同意的控件以及用于指示取消操作的控件,例如,提示信息包括“是否同意进行NFC操作应用C”的信息、显示“同意”字样的控件,以及显示有“取消”字样的控件。当用户点击该用于指示同意的控件,该手机A接收到用户的同意通过NFC操作应用C的操作。当用户点击该用于指示取消的控件,该手机A接收到用户不同意通过NFC操作应用C的操作,则手机A将该提示信息从显示屏上移除,并结束流程。
可选地,手机A还可以与其他提示方式配合,以提高对用户的提醒,例如,手机A中可以在显示屏上弹出提示框,同时手机A输出提示音;手机A还可以在显示屏上显示提示框、同时手机A震动。手机A采用多种提示方式,可以提高用户发现显示屏中的提示信息的概率,避免出现未在用户同意的情况下,手机A跨设备启动手机B中的应用程序的问题,使得跨设备启动应用更加符合用户的需求,提高用户的使用体验。
本示例中,在手机检测到触碰事件且检测到NFC功能被打开后,手机显示用于指示用户是否同意NFC操作应用C的提示信息,可以避免因意外触碰而进行跨设备启动应用的问题。
步骤403:手机B提示用户是否同意通过NFC操作应用C的提示信息。
该步骤与步骤402类似,相关描述可以参考步骤402中的描述,此处将不再进行赘述。
步骤404:手机A接收到用户同意通过NFC操作应用C的操作。
示例性地,同意通过NFC操作应用C的操作可以是用户点击用于指示同意的控件。若手机A接收到用户同意通过NFC操作应用C的操作,则执行步骤406。
步骤405:手机B接收到用户同意通过NFC操作应用C的操作。
示例性地,同意通过NFC操作应用C的操作可以是用户点击用于指示同意的控件。若手机B接收到用户同意通过NFC操作应用C的操作,则执行步骤407。
步骤406:手机A检测手机A的运行状态。
示例性地,手机A中的状态检测模块可以对手机A的运行状态进行检测,获得手机A的状态信息。运行状态的检测包括:对手机A是否处于灭屏(即解锁)的状态的检测、对手机A的前台运行的应用程序的检测。手机A的状态信息可以包括:用于指示手机A是否处于灭屏状态的信息、用于指示前台是否运行应用程序的信息等。该手机A的状态信息还可以包括用于指示手机A运行应用程序的信息。
举例来说,手机A中的状态检测模块若检测到手机A处于亮屏状态且手机A正在运行应用程序C,获得状态信息,如“state_bright screen_app_c”,该状态信息中“brightscreen”用于指示手机A处于亮屏状态,“app_c”用于指示手机A的前台正在运行应用程序C。
在另一个示例中,手机A中还可以预先存储手机A的运行状态与状态信息之间的对应关系,若手机A检测到手机A处于亮屏且处于运行应用程序的状态,可以查询存储的对应关系,确定该手机A的状态信息。例如:手机A存储的对应关系有“state1——手机处于亮屏且运行有应用程序的状态”,当手机检测到手机A处于亮屏且运行有应用程序的状态,则手机A根据对应关系,确定手机A的运行状态的状态信息为“state1”。
本示例中,状态检测模块可以通过调用应用程序框架层中的应用管理模块,检测手机前台是否有应用程序运行以及检测手机是否处于亮屏(即解锁)状态。
步骤407:手机B检测手机B的运行状态。
示例性地,手机B中的状态检测模块可以用于对手机B的运行状态进行检测,并获得手机B的运行状态的状态信息。状态信息与步骤406的相关描述类似,可以参考步骤406中的相关描述。
举例来说,手机B中的状态检测模块若检测到手机B处于亮屏状态且手机B的前台未运行应用程序,该手机B的状态检测模块获得手机B的状态信息,如“state_brightscreen_app_null”,该状态信息中“bright screen”用于指示手机B处于亮屏状态,“app_null”用于指示手机B的前台正在运行的应用程序为空(即手机B的前台未运行应用程序)。手机B中的状态检测模块若检测到手机B处于灭屏状态,该手机B的状态检测模块获得手机B的状态信息,如“state_screen out_app_null”,其中,“screen out”用于指示该手机B处于灭屏状态。
本示例中,状态检测模块可以通过调用应用程序框架层中的应用管理模块,检测手机B的前台是否有应用程序运行以及检测手机是否处于亮屏(即解锁)状态。
当手机B获得该手机B的状态信息后,可以执行步骤408。
步骤408:手机B向手机A反馈手机B运行状态的状态信息。
在一个示例中,手机A和手机B发生触碰时,手机A与手机B可以建立NFC通道,用于进行数据传输。
在另一个示例中,手机A和手机B各自接收到用户同意通过NFC操作应用C的操作后,手机A和手机B可以建立NFC通道,用于进行数据传输。
手机B检测手机B的运行状态,获得手机B的状态信息后,手机B可以通过手机A与手机B之间的NFC通道向手机A反馈手机B运行状态的状态信息。例如,手机B的状态信息为“state_screen out_app_null”,该手机B将该状态信息通过NFC通道传输至手机A中。
步骤409:手机A根据手机A的状态信息以及手机B的状态信息,判断是否满足预设的触发条件。
示例性地,手机A存储有预设的触发条件,触发条件可以包括:手机A的状态信息指示手机A运行有应用程序,且手机B的状态信息指示手机B处于亮屏且前台未运行有应用程序。当手机A接收到手B的状态信息后,根据手机B的状态信息和手机A的状态信息,判断手机A的运行状态以及手机B的运行状态是否与预设的触发条件匹配。若手机A确定手机A运行有应用程序且确定手机B处于亮屏且未运行应用程序的状态,则确定当前手机A和手机B满足预设的触发条件。手机A执行步骤410。
步骤410:手机A若检测到满足预设的触发条件,则生成第一信息。
示例性地,手机A确定当前手机A的运行状态以及手机B的运行状态满足预设的触发条件,则生成第一信息。该第一信息包括:手机A的系统版本信息、手机A的前台正在运行的应用程序在手机A中的安装目录信息以及该手机A的前台正在运行的应用程序的包名。例如,手机A正在运行的应用程序为应用C,该第一信息包括:手机A的系统版本信息、应用C在手机A中的安装目录信息以及该应用C的包名。
可选地,第一信息中还可以包括其他数据信息:如应用C的版本信息。
步骤411:手机A向手机B发送该第一信息。
示例性地,手机A通过NFC通道将该第一信息发送至手机B。手机A在传输该第一信息时,可以将该第一信息进行压缩,即手机A传输第一信息的压缩包至手机B。手机A传输压缩后的第一信息,可以提高手机A与手机B之间传输第一信息的速度。
步骤412:手机B根据该第一信息,确定手机B获取应用C的来源。
手机B接收到手机A发送的该第一信息,可以根据该第一信息与手机B中的本地数据进行匹配,从而确定出手机B获取应用C的来源。手机B中的本地数据可以包括手机B的系统版本信息、手机B中预制应用目录的信息、手机B中第三方应用目录的信息。
示例性地,手机B获取应用C的来源可以三种,分别是:从手机A中获取应用C,从服务器获取应用C以及手机B中已安装有应用C(即从手机B获取应用C)。
在一个示例中,手机B根据第一信息,确定手机B获取应用C的来源的过程可以参考图5,包括:
步骤4121:手机B从第一信息中获取手机A的系统版本信息、应用C在手机A中的安装目录信息以及应用C的包名。
在一个示例中,手机B可以检测接收的第一信息是否为压缩的数据,若是,则手机B可以对接收的数据进行解压缩,获取第一信息。否则,手机B直接获取该第一信息。
手机B从第一信息中获取手机A的系统版本信息、应用C在手机A中的安装目录信息以及应用C的包名。
步骤4122:手机B判断手机A的系统版本信息是否与手机B的系统版本信息匹配。若手机B确定手机A的系统版本信息与手机B的系统版本信息匹配,则手机B执行步骤4123;若手机B确定手机A的系统版本信息与手机B的系统版本信息不匹配,则手机B执行步骤4126。
示例性地,手机B获取手机B的系统版本信息以及获取手机A的系统版本信息。系统版本信息可以包括:手机运行的操作系统的类型。手机的操作系统类型包括:安卓系统、iOS系统、Symbian OS系统等。手机B判断手机A的系统版本信息是否与手机B的系统版本信息匹配的过程:手机B可以判断手机A的系统类型与手机B的系统类型是否相同。若手机B确定该手机A的系统类型与手机B的系统类型相同,则手机B确定手机A的系统版本信息与手机B的系统版本信息匹配,执行步骤4123。若手机B确定手机A的系统类型与手机B的系统类型不同,则手机B确定手机A的系统版本信息与手机B的系统版本信息不匹配,执行步骤4126,手机B将应用C的包名转换为与手机B的系统版本信息匹配的包名。
举例来说,手机B从第一信息中获取手机A的系统版本信息(如:安卓系统),手机B获取手机B的系统版本信息(如iOS系统)。手机B比对手机A的系统类型与手机B的系统类型,手机B确定手机B的系统类型与手机A的系统类型不同,则确定手机B的系统版本信息与手机A的系统版本信息不匹配。
再如,手机B从第一信息获取手机A的系统版本信息(如:安卓系统),手机B获取手机B的系统版本信息(如安卓系统)。该手机B对比对手机B的系统类型与手机A的系统类型,手机B确定手机B的系统类型与手机A的系统类型相同,则确定手机B的系统版本信息与手机A的系统版本信息匹配。
在一个示例中,系统版本信息中还可以包括:当前操作系统的版本号,如Android9.0。若系统版本信息中包括操作系统的类型以及操作系统的版本号,手机B中检测到手机B的系统类型与手机A的系统类型相同,则确定手机B与手机A的系统版本匹配。即手机A的系统版本号(如Android 9.0)与手机B的系统版本号(如Android8.0)可以不同。
步骤4123:手机B根据安装目录信息及应用C的包名,判断在手机B中是否存在应用C。若手机B确定不存在应用C,则确定从手机A中获取应用C的安装数据(即执行步骤4124);若手机B确定存在应用C,则确定手机B中安装有应用C(即执行步骤4125)。
本示例中,手机B通过应用C在手机A中的安装目录信息以及该应用C的包名,手机B可以根据该安装目录信息以及应用C的包名,判断手机B中是否存在应用C。该安装目录信息可以包括:应用C的安装路径信息,如“system/app/app_c”。
在一个示例中,手机B通过应用C在手机A中的安装位置,可以确定手机B在对应的安装目录下是否安装有该应用C,通过应用C在手机A中的安装目录信息,可以缩小手机B查询应用C的范围,提高查询的速度。
在一个示例中,当手机A的系统类型与手机B的系统类型相同的情况下,手机B可以采用如图6所示的步骤判断手机B中是否存在应用C,具体过程如下:
步骤4123-1:手机B判断应用C是否被安装于手机A的预制应用目录下。若手机B确定应用C被安装于手机A的预制应用目录下,则手机B执行步骤4123-2;手机B确定应用C不是被安装于手机A的预制应用目录下,则手机B执行步骤4123-5。
示例性地,手机中安装应用的目录包括预制应用目录(也可以称为系统应用目录)和第三方应用目录。预制应用目录用于安装预制应用程序(即手机出厂时预先安装的应用程序),第三方应用目录用于安装除预制应用之外的应用程序。
在一个示例中,手机B可以判断应用C的安装目录中是否存在预制应用目录的路径信息,若手机B确定存在,则确定应用C被安装于手机A的预制应用目录下,若手机B确定不存在,则确定应用C被安装于手机A的第三方应用目录下。例如,若应用C在手机A中的安装目录信息为“system/app/app_c”,则手机B判断该安装目录信息(即“system/app/app_c”)中是否包括预设的预制应用目录的路径信息,其中,该预制应用目录的路径信息为“system/app”,该手机B确定存在该预制应用目录的路径信息,则确定应用C被安装于手机A的预制应用目录下。
在另一个示例中,手机B可以判断应用C的安装目录中是否存在第三方应用目录的路径信息,若手机B确定存在第三方应用目录的路径信息,则手机B确定应用C被安装于手机A的第三方应用目录下,否则,手机B确定应用C被安装于手机A的预制应用目录下。例如,若应用C在手机A中的安装目录信息为“data/app/app_c”,则手机B判断该安装目录信息(即“data/app/app_c”)中是否包括预设的第三方应用目录的路径信息,其中,该第三方应用目录的路径信息为“data/app”,该手机B确定存在第三方应用目录的路径信息,则确定应用C被安装于手机A的第三方应用目录下,手机B执行步骤4123-5。
步骤4123-2:手机B获取手机B中预制应用目录下所有应用的包名。
示例性地,当手机B确定应用C被安装于手机A的预制应用目录下,则手机B可以缩小在手机B中搜索应用C的包名的范围。该手机B可以获取该手机B的预制应用目录下所有应用的包名,以便该手机B判断预制应用目录下的所用应用的包名中是否存在应用C的包名。手机B可以采用二分查找的方式在手机B的预制应用目录下查找是否存在应用C的包名,即手机B可以执行步骤4123-3以及步骤4123-4。
可选地,手机B还可以采用其他的查找方式(即不执行步骤4123-3和4123-4),而是通过遍历每个包名,对每个包名进行如下处理:判断该包名是否与应用C的包名相同,若是相同,则确定在手机B的预制应用目录下查找到应用C的包名,若不相同,则获取该手机B中预制应用目录中的下一个包名,直至遍历完该手机B中预制应用目录中所有应用的包名。当手机B遍历完该手机B中预制应用目录中所有应用的包名,没有查找到与应用C相同的包名,则手机B确定该手机B的预制应用目录中不存在应用C的包名。
步骤4123-3:手机B对手机B中预制应用目录下的应用的包名进行排序。
示例性地,手机B可以对手机B中预制应用目录下的应用的包名进行排序。排序的方式可以是基于安装时间或者可以基于字母表的顺序排序。例如,手机B获取该预制应用目录下每个应用的包名的字母,如有3个应用的包名,分别为“app_C”、“app_D”、“app_A”;手机B按照字母表的顺序排序(即英文字母表的顺序),排序后的包名为:“app_A”、“app_C”、“app_D”。
步骤4123-4:手机B在手机B中对排序后的包名进行二分查找,查找是否存在应用C的包名。若手机B查找到应用C,则手机B确定手机B中安装有应用C(即步骤4125);若手机B未查找到应用C,则手机B确定从手机A获取应用C的安装数据。
示例性地,手机B在手机B中对排序后的包名进行二分查找,查找是否存在应用C的包名。二分查找的过程此处将不进行赘述。若手机B在该预制应用目录下查找到应用C的包名,则执行步骤4125,手机B确定手机B中安装有应用C(即手机B确定应用C 的来源为手机B)。若手机B在该预制应用目录下未查找到该应用C的包名,则执行步骤4124,即手机B确定从手机A中获取应用C的安装数据。
步骤4123-5:手机B获取手机B中第三方应用目录下所有应用的包名。
示例性地,当手机B确定应用C安装于手机A的第三方应用目录下,该手机B可以在该手机B的第三方应用目录下查找是否存在应用C的包名。
步骤4123-6:手机B对手机B中第三方应用目录下的应用的包名进行排序。该步骤之后,执行步骤4123-4。
示例性地,手机B可以对手机B中第三方应用目录下的应用的包名进行排序,该排序的方式与步骤4123-3中的排序方式类似,可以参考步骤4123-3中关于排序方式的描述,此处将不再赘述排序方式的步骤。
手机B在排序完成后,执行步骤4123-4,对排序后的包名进行二分查找,查找是否存在应用C的包名。若手机B在第三方应用目录下查找到该应用C的包名,则执行步骤4125,即手机B确定手机B中安装有应用C,若手机B在第三方应用目录下未查找到该应用C的包名,则执行步中路4124,即手机B确定从手机A中获取应用C的安装数据。
步骤4124:手机B确定从手机A中获取应用C的安装数据。
步骤4125:手机B确定手机B中安装有应用C。
步骤4126:手机B将应用C的包名转换为与手机B的系统版本信息匹配的包名。
示例性地,继续参数图5中的步骤,手机B判断手机A的系统版本信息与手机B的系统版本信息不匹配,则手机B执行步骤4126,即手机B将应用C的包名转换为与手机B的系统版本信息匹配的包名。
举例来说,若应用C在手机A中的包名为“cn.app_c.android”,手机A的系统类型为安卓系统类型,手机B的系统类型为iOS系统类型。手机B可以将应用C的包名更改为“cn.app_c.iOS”,以使得转换后的包名与手机B的iOS系统类型匹配。
步骤4127:手机B根据安装目录信息及转换后的包名,判断在手机B中是否存在应用C。若手机B确定存在应用C,则确定手机B中安装有应用C(即执行步骤4125);若手机B确定不存在应用C,则确定从服务器中获取应用C的安装数据(即执行步骤4128)。
示例性地,由于手机B的系统类型与手机A的系统类型不同,应用C在手机A中的包名与应用C在手机B中的包名不一致。手机B根据安装目录信息以及转换后的包名,判断在手机B中是否存在应用C,可以确保不会因系统类型不同导致判断不准确的问题。
在一个示例中,手机A的系统类型与手机B的系统类型不相同的情况下,手机B可以采用如图7所示的步骤根据安装目录信息及转换后的包名判断手机B中是否存在应用C,具体过程如下:
步骤4127-1:手机B判断应用C是否被安装于手机A的预制应用目录下。若手机B确定应用C被安装于手机A的预制应用目录下,则手机B执行步骤4127-2;手机B确定应用C不是被安装于手机A的预制应用目录下,则手机B执行步骤4127-5。
参照图7所示,该手机B判断应用C是否被安装于手机A的预制应用目录下的方式可以与步骤4123-1类似,该步骤可以参照步骤4123-1的相关描述,此处将不再进行赘述。若手机B确定应用C被安装于手机A的预制应用目录下,则手机B执行步骤4127-2;若手机B确定应用C不是被安装于手机A的预制应用目录下,则手机B执行步骤4127-5。
步骤4127-2:手机B获取手机B中预制应用目录下所有应用的包名。
该步骤与步骤4123-2类似,可以参照步骤4123-2中的相关描述,此处将不再进行赘述。
步骤4127-3:手机B对手机B中预制应用目录下的应用的包名进行排序。
该步骤与步骤4123-3类似,可以参照步骤4123-2中的相关描述,此处将不再进行赘述。
步骤4127-4:手机B在手机B中对排序后的包名进行二分查找,查找是否存在应用C转换后的包名。若手机B查找到应用C转换后的包名,则手机B确定手机B中安装有应用C(即步骤4125);若手机B未查找到应用C转换后的包名,则手机B确定从服务器获取应用C的安装数据(即步骤4128)。
示例性地,手机B在手机B中对排序后的包名进行二分查找,查找是否存在应用C转换后的包名。二分查找的过程此处将不进行赘述。若手机B在该预制应用目录下查找到应用C转换后的包名,则执行步骤4125,手机B确定手机B中安装有应用C(即手机B确定应用C 的来源为手机B)。若手机B在该预制应用目录下未查找到该应用C转换后的包名,则执行步骤4128,即手机B确定从服务器中获取应用C的安装数据。
步骤4127-5:手机B获取手机B中第三方应用目录下所有应用的包名。
该步骤与步骤4123-5类似,可以参照步骤4123-5中的相关描述,此处将不再进行赘述。
步骤4127-6:手机B对手机B中第三方应用目录下的应用的包名进行排序。该步骤之后,执行步骤4127-4。
该步骤与步骤4123-6类似,可以参照步骤4123-6中的相关描述,此处将不再进行赘述。
步骤4128:手机B确定从服务器获取应用C的安装数据。
示例性地,由于手机A的系统类型与手机B的系统类型不同,手机B无法安装从手机A中获取的该应用C的安装数据。本示例中,手机B确定从服务器获取应用C的安装数据,该服务器可以是该手机B的应用市场对应的服务器。
本示例中结合图5~图7,具体说明了手机B确定出手机B获取应用C的来源的过程。继续参照图4,在一个示例中,手机B若确定应用C的来源为手机A,则手机B可以执行步骤413。手机B若确定应用C来源为手机B(即手机B确定安装有应用C),手机B执行步骤417。手机B确定从服务器获取应用C,手机B执行步骤418。下面将分别对三种情况进行说明。
情况1:手机B在执行步骤412之后,若确定应用C的来源为手机A,执行步骤413。
步骤413:手机B若确定从手机A获取应用C,则向手机A反馈未安装应用C的信息。
示例性地,手机B确定从手机A获取应用C的安装数据,则手机B可以向手机A反馈未安装应用C的信息。可选地,手机B还可以向手机A发送请求获取应用C的安装数据的请求信息。
步骤414:手机A生成应用C的安装数据。
示例性地,手机A接收到手机B反馈的用于指示未安装应用C的信息,手机A生成应用C的安装数据。手机A生成应用C的安装数据的过程可以参照图8所示的步骤,具体如下:
步骤4141:手机A获取应用C的包名。
在一些实施例中,手机A可以创建一个类,如应用数据打包类,该应用数据打包类可以创建一个文件对象,用于获取手机A中应用C的包名。
步骤4142:手机A获取应用C在手机A的安装目录下的数据。
在一些实施例中,手机A中该应用数据打包类可以创建一个新的文件对象,由该文件对象读取应用C在手机A的安装目录下数据。
步骤4143:手机A将获取的应用C在手机A的安装目录下的数据进行封装。
示例性地,该手机A可以将应用C在手机A的安装目录下的数据进行封装,获得封装包。其中,该封装包的格式匹配该手机A的系统类型。
步骤4144:手机A以应用C的安装包包名命名该封装包,并保存该封装包。
示例性地,手机A可以以应用C的安装包包名命名封装包,并将该封装包保存至预设的缓存路径下。
举例来说,手机A获取的应用C的包名,并将该包名作为应用C的安装包包名,例如,应用C的包名为“cn.app_c.android”,将该包名作为匹配该手机A的系统类型的安装包包名,如“cn.app_c.android”。手机A获取应用C的封装包,将该应用C的封装包命名为该“cn.app_c.android”;并将该封装包保存至预设的缓存路径下。手机A中存储在缓存路径下的封装包作为应用C的安装数据。
步骤415:手机A向手机B发送应用C的安装数据。
手机A从缓存路径下获取该应用C的安装数据,并基于NFC通道向手机B发送该应用C的安装数据。
步骤416:手机B安装应用C,并打开应用C。该步骤之后执行步骤421。
手机B接收到该应用C的安装数据,安装该应用C。手机B在应用C安装完成后,打开该应用C。在手机B打开应用C之后,该手机B可以删除从手机A处获取的临时数据。本示例中,临时数据包括第一信息以及手机A传输的应用C的安装数据。
情况2:在执行步骤412之后,手机B若确定手机B中安装有应用C,执行步骤417。
步骤417:手机B若确定手机B中安装有应用C,则打开应用C。该步骤之后执行步骤421。
示例性地,手机B若确定手机B中安装有应用C,则该手机B打开应用C。当手机B打开应用C之后,手机B删除从手机A处获取的临时数据,本示例中,临时数据包括手机A传输的第一信息。
情况3:在执行步骤412之后,手机B若确定从服务器获取应用C,执行步骤418。
步骤418:手机B若确定从服务器获取应用C,则向服务器请求获取应用C的安装数据。
在一个示例中,若手机B确定从服务器获取应用C,该手机B可以向服务器请求获取应用C的安装数据。可选地,服务器可以是手机B中的应用市场对应的服务器。例如,手机B可以通过后台调用云端搜索接口,通过云端搜索接口向服务器请求搜索应用C(即请求获取应用C的安装数据),其中,手机发送的请求中可以包括应用C的包名。服务器接收到手机B的请求后,在服务器中搜索该应用C。服务器若搜索到该应用C,则可以向手机B反馈搜索结果。若手机B接收到的搜索结果指示搜索到应用C,则手机B通过后台调用云端下载接口向服务器请求下载应用C的安装包,服务器接收到下载请求后,向手机B下发应用C的安装数据。
在另一个示例中,若服务器反馈的搜索结果指示未搜寻到应用C,则手机B提示未搜寻到应用C的信息,例如,手机B可以在显示屏中显示“未查询到应用C”的信息,或者,语音提示未搜索到应用C的信息。手机B在提示未搜寻到应用C的信息后,结束流程。
步骤419:手机B接收应用C的安装数据。
手机B接收到服务器下发的应用C的安装数据。
步骤420:手机B安装应用C并打开应用C。该步骤之后执行步骤421。
示例性地,手机B安装应用C的安装数据,当手机B安装了该应用C后,打开应用C。
同理,手机B在打开应用C后,可以执行步骤421,即手机B删除手机B中的临时数据。本示例中,临时数据包括手机A发送的第一信息以及云端下发的应用C的安装数据。
步骤421:删除临时数据,该临时数据包括第一信息,或者临时数据包括第一信息和应用C的安装数据。
示例性地,若应用C来源于手机A或服务器,则该临时数据包括第一信息和应用C的安装数据。若应用C来源于手机B,则该临时数据包括第一信息。
本示例中,手机A与手机B若均处于NFC状态,且手机A与手机B发生触碰后,手机A和手机B各自指示用户是否同意NFC操作应用C。当手机A的接收到用户的同意操作且手机B接收到用户的同意操作,该手机A检测到手机A的运行状态以及手机B的运行状态满足触发条件后,手机A将生成第一信息并将该第一信息发送至手机B,由手机B根据第一信息,判断是否从手机A获取应用C的安装数据,由于第一信息中包括手机A的系统类型、应用C在手机A中安装目录信息以及应用C的包名,使得手机B可以根据系统类型确定出手机A中的应用C的安装数据是否可以在手机B中运行,从而避免了手机B安装不了手机A发送的应用C的安装数据的问题,避免手机A传输无效的安装数据的问题,减少不必要的数据传输。同时,手机B通过应用C在手机A中的安装目录信息,可以缩小在手机B中搜寻应用C的范围,提高手机B搜寻应用C的速度。当手机B确定从服务器获取应用C,若手机B中未安装应用C且手机A与手机B的系统类型不同,导致手机A中应用C的安装数据无法在手机B中安装的为题,此时手机B自主从服务器搜寻应用C,从服务器获取应用C的安装数据,进一步减少用户的参与步骤,提高打开应用C的便利。本示例中,当手机A打开应用C后,通过手机A与手机B之间的触碰,触发手机B快速打开应用C,无需人工查找手机B中是否存在应用C的图标,也无需人工在应用市场搜寻应用C,提高了手机B打开应用C的速度,提高用户使用的体验。另外,本示例中,也可以有多个待启动应用C的手机(如手机D),使得多个待启动应用的手机均可以快速启动应用C,增加该启动应用的方法的适应场景。
图9为示例性示出的手机A基于NFC通道向手机B发送第一信息的示意图。本示例中结合具体的例子说明本申请中启动应用的方法。
如图9中的9a所示,手机A的界面901中显示游戏D(即第一应用)的画面,即该手机A正在运行游戏D。该手机A的界面901的顶部显示有NFC的图标902,该NFC的图标902指示该手机A中的NFC功能已打开。该手机B处于亮屏状态,该手机B的显示屏中显示该桌面904。该桌面904中的顶部同样显示有NFC的图标903,该NFC的图标903指示该手机B的NFC功能被打开。用户A正在玩手机A中的游戏D,用户B希望加入用户A的游戏中,此时用户B控制手机B与手机A发成触碰,如9a所示的手机A与手机B的碰撞,手机A和手机B之间可以建立NFC通道。如图9中的9b所示,当手机A检测到手机A发生了触碰且检测到手机A的NFC功能已被打开,则手机A在显示屏901中弹出提示框905,该提示框905上显示有信息“是否同意进行NFC操作游戏D”、取消控件9051以及同意控件9052。同理,在手机A与手机B发生触碰时,手机B检测到手机B发生了触碰且手机B中的NFC功能被打开,则手机B在界面904上弹出提示框906,该提示框906上显示有信息“是否同意进行NFC操作游戏D”、取消控件9061以及同意控件9062。
如9b所示,用户A点击同意控件9052,手机A接收到用户点击同意控件9052的操作,则手机A检测自身的运行状态,获得手机A的状态信息(如状态信息1),该状态信息1用于指示手机A的前台正在运行游戏D。手机B中弹出提示框906后,用户B点击同意控件9062,手机B接收到用户点击同意控件9062的操作,则手机B开始检测手机B的运行状态。该手机B检测到手机B处于亮屏状态(即手机B处于解锁状态)且手机B的前台未运行应用程序,如图9中9a中手机B所示的状态,手机B获得该手机B的状态信息(如状态信息2)。如图9中9c所示,手机B通过NFC通道将手机B的状态信息(即状态信息2)发送至手机A中。本示例中手机A根据手机A的状态信息1和手机B的状态信息2,确定当前手机A的运行状态以及手机B的运行状态满足预设的触发条件(该触发条件为手机A运行有应用程序,手机B处于亮屏且未运行应用程序的状态)。该手机A生成第一信息,该第一信息包括:手机A的系统版本信息、游戏D在手机A中的安装目录信息以及该游戏D的包名(如“cn.app_game_d.android”)。参考图9中9d,手机A将第一信息通过NFC通道发送至手机B。手机B接收到该第一信息,根据该第一信息,确定手机B中游戏D的来源。
在一个示例中,如图9中的9b所示,若用户A或用户B中任一用户点击了取消控件,则手机A和手机B均结束流程。
下面结合图10~图14具体说明,手机B根据游戏D的来源,启动应用的3种情况。
图10为示例性示出的手机B启动应用的一种场景示意图。
当手机B从第一信息中获取手机A的系统版本信息,该系统版本信息中包括系统类型和系统的版本号(如Android 9.0),手机B获取手机B的系统版本信息(如Android 9.0)。手机B确定手机A的系统类型(如为安卓类型)和手机B的系统类型(如为安卓类型)相同,则手机B获取游戏D在手机A中的安装目录信息(如system/app/app_game_d),手机B可以查询该安装目录信息中是否存在预设的预制应用目录的路径信息(如system/app)。手机B确定该应用安装在预制应用目录下,则手机B在手机B的预制应用目录下查找是否存在游戏D的包名。手机B查找游戏D的包名的方式可以采用二分查找的方式,查找方式不再进行赘述。若手机B在预制应用目录下查找到该游戏D的包名,则手机B确定游戏D的来源为手机B(即手机B中安装有游戏D)。如图10所示,手机B启动游戏D,手机B的显示屏中显示游戏D的界面。如图10所示,手机A和手机B均运行游戏D。
本示例中,手机B根据第一信息,确定手机A与手机B的系统类型相同且手机B中安装有游戏D时,手机B将直接启动游戏D。无需用户在手机B的桌面中查找游戏D的图标,手动点击图标打开游戏D;通过手机A跨设备启动手机B中的游戏D,提高启动游戏D的速度。
图11为示例性示出的手机B从手机A获取游戏D的安装数据,并启动游戏D的场景示意图。
在另一个场景中,当手机B从第一信息中获取手机A的系统版本信息,该系统版本信息中包括系统类型和系统的版本号(如Android 9.0),手机B获取手机B的系统版本信息(如Android 9.0)。手机B确定手机A的系统类型(即为安卓类型)和手机B的系统类型(即为安卓类型)相同,则手机B获取游戏D在手机A中的安装目录信息(如data/app/app_game_d),手机B可以查询该安装目录信息中是否存在预设的预制应用目录的路径信息(如system/app)。手机B在安装目录信息中(即data/app/app_game_d)中未查询到预制应用目录的路径信息,则手机B确定游戏D安装在手机A的第三方应用目录下。手机B在手机B的第三方应用目录下查找是否存在游戏D的包名。手机B查找游戏D的包名的方式可以采用二分查找的方式,查找方式不再进行赘述。若手机B在第三方应用目录下未查找到该游戏D的包名,则手机B确定游戏D的来源为手机A。手机B向手机A反馈手机B未安装游戏D的信息,手机A读取游戏D在安装目录下的数据,并对游戏D在安装目录下的数据进行封装。手机A以游戏D的安装包包名命名该封装包,该命名后的封装包作为游戏D的安装数据,手机A将该游戏D的安装数据存储在缓存中。如图11中11a所示,11a中示出了手机A和手机B,手机A的显示屏显示有游戏界面1101,手机B中的界面1111为手机B的桌面,当手机A向手机B发送游戏D的安装数据时,该手机B的界面1111上弹出提示信息1112,该提示信息用于指示手机A正在发送游戏D的安装数据。在传输过程中展示传输数据的提示信息,可以避免用户启动其他应用程序,避免打断游戏D的安装数据的传输。
手机B解压游戏D的安装数据,并安装该游戏D,同理,手机B可以提示用户手机B正在安装游戏D,以告知用户当前启动游戏D的进度,如图11中11b所示,11b中示出了手机B,该手机B的桌面1111上有提示框1113,该提示框1113用于指示该手机B正在安装游戏D。图11中的11c示出了手机B中安装完游戏D后的桌面,该桌面1111上有游戏D的图标1113。图11中11d示出了手机B启动的游戏D的界面的示意图。11d中手机B展示了游戏界面1114。
本示例中,当手机B检测到手机A与手机B的系统类型相同且手机B未安装有游戏D时,手机B确定从手机A处获取游戏D。手机B向手机A请求获取游戏D的安装数据手机A生成游戏D的安装数据并发送至手机B。手机B从手机A处获取游戏D的安装数据,使得无需用户自行从应用市场搜寻游戏D的,进一步提高安装游戏D的速度。
图12为示例性示出的手机B从服务器获取游戏D的安装数据,并启动游戏D的场景示意图。
在另一个场景中,当手机B从第一信息中获取手机A的系统版本信息,该系统版本信息中包括系统类型和系统的版本号(如Android 9.0),手机B获取手机B的系统版本信息(如iOS 9.0)。手机B确定手机A的系统类型(即为安卓类型)与手机B的系统类型(即为iOS类型)不相同,则手机B将游戏D的包名(如cn.app_game_d.android)转换为与iOS系统匹配的包名(如cn.app_ game_d.iOS)。
手机B获取游戏D在手机A中的安装目录信息(如data/app/app_game_d),手机B可以查询该安装目录信息中是否存在预设的预制应用目录的路径信息(如system/app)。手机B在安装目录信息中(即data/app/app_game_d)中未查询到预制应用目录的路径信息,则手机B确定游戏D安装在手机A的第三方应用目录下。手机B在手机B的第三方应用目录下查找是否存在游戏D的转换后的包名(即cn.app_ game_d.iOS)。手机B查找游戏D的转换后的包名(即cn.app_ game_d.iOS)的方式可以采用二分查找的方式,查找方式不再进行赘述。若手机B在第三方应用目录下未查找到该游戏D的转换后的包名(即cn.app_ game_d.iOS),则手机B确定游戏D的来源为服务器(如应用市场的服务器)。手机B通过云端搜索接口向服务器请求搜索游戏D(即请求获取游戏D的安装数据)。服务器接收到手机B的请求后,在服务器中搜索该游戏D。服务器可以向手机B反馈搜索结果。若手机B接收到的搜索结果指示搜索到游戏D,则手机B通过后台调用云端下载接口向服务器请求下载游戏D的安装包,服务器接收到下载请求后,向手机B下发游戏D的安装数据。
手机B可以在显示屏上显示下载游戏D的安装数据的提示信息,如图12中的12a所示,手机B的桌面1201上有提示框1202,该提示框1202中包含有下载手机B下载游戏D的进度,如12a中示出的进度条1203,该进度条指示手机B当前下载了45%的游戏D的安装数据。当手机B下载完游戏D后,安装该游戏D。该手机B可以显示该手机正在安装游戏D的提示信息,如12b所示,在手机B的桌面1201上显示有提示信息1204。12c中手机B的桌面1201上包含有游戏D的图标1205。12d示出了手机B启动的游戏D的界面的示意图,12d中手机B展示了游戏界面1206。
在一个示例中,手机B提示正在下载游戏D的方式还可以是显示灰色的游戏D的图标,并在图标下显示“正在下载”的字样,如图13所示,游戏D的灰色图标为1302,该游戏D的灰色图标1302下显示“正在下载”的字样。
在另一个场景中,若手机B接收到的搜索结果指示未搜索到游戏D,则手机B的界面上可以展示未搜索到游戏D的提示信息,如图14所示,该手机B的桌面1401上显示有提示信息1402,该提示信息1402中包含有“未搜索到游戏D”的字样,以告知用户搜索结果。
图15为本申请中一些实施例提供的手机A与手机B执行本申请中启动应用的方法的整体流程图,具体过程如图15所示:
步骤1501:手机A与手机B发生碰撞。
示例性地,手机A中的NFC应用已被启动(即手机A处于NFC状态),手机B中的NFC应用已被启动(即手机B处于NFC状态)。当手机A和手机B之间发生碰撞,手机A检测到手机A发生了碰撞事件,且手机B检测到手机B发生了碰撞事件,执行步骤1502。该步骤与步骤401中的相关触碰描述类似,此处不再进行赘述。
步骤1502:手机A和手机B是否均接收到用户同意进行NFC控制的操作。若手机A和手机B均接收到用户同意进行NFC控制的操作,则执行步骤1503;若手机A和手机B中任一设备接收到用户不同意进行NFC控制的操作,则结束整个流程。
示例性地,该步骤的相关描述可以参见步骤402、403、404、405的相关描述,此处不再进行赘述。
若手机A和手机B中任一设备接收到用户不同意进行NFC控制的操作,则结束整个流程。可选地,NFC控制可以为通过NFC启动应用C的操作。
步骤1503:手机A判断是否手机A运行应用C以及手机B处于亮屏且前台无应用程序运行的状态。若手机A确定手机A运行应用C以及手机B处于亮屏且前台无应用程序运行的状态,则执行步骤1504;否则,执行结束整个流程。
示例性地,手机A检测手机A的状态信息,手机B获取手机B的状态信息,手机B将手机B的状态信息发送至手机A中。由手机A判断是否手机A运行应用C以及手机B处于亮屏且前台无应用程序运行的状态。具体过程可以参照步骤406、407、408以及409的相关描述,此处不再进行赘述。
步骤1504:手机A通过NFC通道将第一信息传输至手机B。
示例性地,手机A若确定手机A运行应用C以及手机B处于亮屏且前台无应用程序运行的状态,则手机可以生成第一信息,第一信息包括:手机A的系统版本信息、手机A的前台正在运行的应用C在手机A中的安装目录信息以及该应用C的包名。手机A将该第一信息通过NFC通道发送至手机B。具体过程可以参照步骤410、411的相关描述,此处不再进行赘述。
步骤1505:手机B保存手机A传输的第一信息。
示例性地,手机B接收到该第一信息后,保存该第一信息。
步骤1506:手机B从第一信息中获取手机A的操作系统的类型。
示例性地,第一信息中手机A的系统版本信息包括手机A的操作系统的类型的信息。手机B可以从第一信息中获取手机A的操作系统的类型。
步骤1507:手机B判断手机A的操作系统的类型是否与手机B的操作系统的类型相同。若手机B确定手机A的操作系统的类型与手机B的操作系统的类型相同,则执行步骤1508;若手机B确定手机A的操作系统的类型与手机B的操作系统的类型不相同,则执行步骤1513。
该步骤可以参照步骤4122的相关描述,此处不再进行赘述。
步骤1508:手机B根据第一信息中应用C的包名,判断手机B中是否存在应用C。若手机B确定手机B中存在应用C,则执行步骤1509;若手机B确定手机B中不存在应用C,则执行步骤1511。
当手机A的操作系统的类型与手机B的操作系统的类型相同的情况下,手机B可以根据应用C的包名以及第一信息中的应用C在手机A中的安装目录信息,判断手机B中是否存在应用C。手机B判断的过程可以参照图16中所示的步骤。
步骤1509:手机B打开应用C。
即手机B运行应用C。
步骤1510:手机B删除临时数据。
该临时数据包括第一信息,或者临时数据包括第一信息和应用C的安装数据。
示例性地,若应用C来源于手机A或云端(如应用市场对应的服务器),则该临时数据包括第一信息和应用C的安装数据。若应用C来源于手机B,则该临时数据包括第一信息。
步骤1511:手机B通知手机A打包应用C的安装数据及将应用C的安装数据传输至手机B。
示例性地,该步骤可以参照图18所示。
步骤1512:手机B安装应用C并打开应用C。该步骤之后执行步骤1510,即手机B删除临时数据。
示例性地,手机B运行应用C的安装数据以安装该应用C,该应用C的安装数据由手机A发送。
步骤1513:手机B将第一信息中应用C的包名转换为与手机B的操作系统的类型匹配的包名。
示例性地,手机A的操作系统的类型与手机B的操作系统的类型不同时,应用的包名的格式也不同。手机B可以将应用C的包名格式转换为与该手机B的操作系统的类型匹配的格式。例如,若应用C在手机A中的包名为“cn.app_c.android”,手机A的系统类型为安卓系统类型,手机B的系统类型为iOS系统类型。手机B可以将应用C的包名更改为“cn.app_c.iOS”,以使得转换后的包名与手机B的iOS系统类型匹配。
步骤1514:手机B根据应用C转换后的包名,判断在手机B中是否存在应用C。若手机B确定手机B中存在应用C,则执行步骤1509;若手机B确定手机B中不存在应用C,则执行步骤1515。
该步骤可以参照图18所示。
步骤1515:手机B从云端下载应用C的安装数据。
该步骤可以参照图17所示。
步骤1516:手机B安装应用C并打开应用C。该步骤之后,执行步骤1510,即手机B删除临时数据。
示例性地,手机B运行应用C的安装数据以安装该应用C,该应用C的安装数据的来源为云端。
图16为手机B判断手机B中是否存在应用C的流程图。
步骤1601:手机B判断应用C是否被安装于手机A的预制应目录下。若手机B确定应用C被安装于手机A的预制应用目录下,则执行步骤1602;若手机B确定应用C被安装于手机A的第三方应用目录下,则执行步骤1605。
该步骤中手机B判断应用C是否被安装于手机A的预制应用目录下的相关描述可以参照步骤4127-1中的描述,此处不再进行赘述。
步骤1602:手机B获取手机B中预制应用目录下所有应用的包名。
该步骤可以参照步骤4123-2中的相关描述,此处不再进行赘述。
步骤1603:手机B对手机B中预制应用目录下的应用的包名进行递增排序。
该步骤可以参照步骤4123-3中的相关描述,此处不再进行赘述。例如,手机B获取该预制应用目录下每个应用的包名的字母,如有3个应用的包名,分别为“app_C”、“app_D”、“app_A”;手机B按照字母表递增的顺序排序(即英文字母表的顺序),递增排序后的包名为:“app_A”、“app_C”、“app_D”。
步骤1604:手机B采用二分查找的方式在排序后的包名中查找应用C的包名或应用C转换后的包名,并输出查找结果。
该步骤可以参照步骤4123-4中的相关描述,此处不再进行赘述。
步骤1605:手机B获取手机B中第三方应用目录下所有应用的包名。
该步骤可以参照步骤4123-5中的相关描述,此处不再进行赘述。
步骤1606:手机B对手机B中第三方应目录下的应用的包名进行递增排序。该步骤之后执行步骤1604。
该步骤可以参照步骤4123-6中的相关描述,此处不再进行赘述。
需要说明的是,当手机B转换了应用C的包名后,手机B判断手机B中是否存在应用C的方式可以采用图16中所示的方式,执行的步骤1604为:手机B采用二分查找的方式在排序后的包名中查找应用C转换后的包名,并输出查找结果。若手机B查找到应用C转换后的包名,则输出结果指示手机B中存在应用C。若手机B未查找到应用C转换后的包名,则输出结果指示手机B中不存在应用C。
图17为手机B从云端下载应用C的流程图。
步骤1701:手机B后台调用云端搜索结果搜索应用C。
示例性地,手机B可以通过后台调用云端搜索接口,通过云端搜索接口向云端请求搜索应用C(即请求获取应用C的安装数据),其中,手机B发送的请求中可以包括应用C的包名。云端接收到手机B的请求后,在云端中搜索该应用C。可选地,云端可以是应用市场对应的服务器。
步骤1702:云端是否搜索到应用C。若云端搜索到应用C,则手机B执行步骤1703,否则,手机B执行步骤1707。
示例性地,云端向手机B返回搜索结果。若手机B接收到的搜索结果指示搜索到应用C,则手机B执行步骤1703。若手机B接收到的搜索结果指示未搜寻到应用C,则手机B执行步骤1707。
步骤1703:手机B后台调用云端下载接口下载应用C的安装数据。
手机B通过后台调用云端下载接口向服务器请求下载应用C的安装包,服务器接收到下载请求后,向手机B下发应用C的安装数据。
步骤1704:手机B的显示屏上实时显示下载进度。
示例性地,手机B可以在显示屏上实时显示下载应用C的安装数据的下载进度。如,以文字的形式指示下载进度,或者以图形的形式指示下载进度,如图12中的12a所示。
步骤1705:手机B下载完毕后,手机B后台调用安装接口安装应用C。
步骤1706:手机B提示用户安装成功。
示例性地,手机B可以在安装完毕后,在显示屏中显示“安装完毕”的信息。
步骤1707:手机B提示用户云端未搜索到应用C。
示例性地,手机B可以在显示屏中以文字的形式提示用户云端未搜索到应用C,如图14所示。手机B也可以以语音形式提示用户该云端未搜索到应用C。
图18为手机A生成应用C的安装数据的流程图。
步骤1801:手机A获取应用C的安装包包名的字符串。
该步骤可以参照步骤4141的相关描述,此处不再进行赘述。
步骤1802:手机A新建文件对象。
在一些实施例中,手机A中该应用数据打包类可以创建一个新的文件对象,以便手机B可以通过该文件对象读取应用C在手机A的安装目录下数据。
步骤1803:手机A中由新建的文件对象读取应用C的安装目录下的数据。
示例性地,该手机A中的新建的文件对象(如文件对象A)可以将应用C在手机A的安装目录下的数据进行封装,获得封装包。其中,该封装包的格式匹配该手机A的系统类型。
步骤1804:手机A中的新建的文件对象以安装包包名命名并保存在缓存中。
示例性地,手机A可以以应用C的安装包包名命名封装包(即手机A中的文件对象A),并将该封装包保存至预设的缓存路径下。
在一个实施例中,电子设备中的跨设备应用信息管理模块可以执行本申请中启动应用的方法。该跨设备应用信息管理模块中可以包括:状态检测模块、数据保存解析模块、数据匹配模块、后台应用下载模块、应用数据打包模块、应用安装模块、信息交互模块以及数据清理模块。
以手机A和手机B为例,图19为情况1对应场景中手机A与手机B之间内部模块之间的交互示意图。
手机A和手机B中均处于NFC状态(即NFC应用被启动)。S1901:手机A检测到碰撞且检测到手机A中的NFC应用被启动。S1902:手机A中的NFC通信模块向手机A中的信息交互模块指示查询手机A的状态。S1904:手机A中的信息交互模块指示状态检测模块查询手机A的状态。S1906:该手机A中的状态检测模块查询手机A的运行状态。手机B检测到碰撞且检测到手机B中的NFC应用被启动。S1903:手机B中的NFC通信模块向手机B中的信息交互模块指示查询手机B的状态。S1905:手机B中的信息交互模块指示手机B中的状态检测模块查询手机B中的状态。S1907:手机B中的状态检测模块查询手机B的运行状态。S1908:手机A中的状态检测模块将手机A的状态信息发送至手机A中的数据匹配模块。S1909:手机B中的状态检测模块将手机B的状态信息传输至信息交互模块。S1910,手机B中的信息交互模块将手机B的状态信息传输至手机B中的NFC通信模块。S1911,手机B中的NFC通信模块通过NFC通道将手机B的状态信息发送至手机A中的NFC通信模块。S1912,手机A中的NFC通信模块将手机B的状态信息传输至手机A的信息交互模块。S1913,手机A中的信息交互模块将手机B的状态信息传输至手机A的数据匹配模块。S1914,手机A的数据匹配模块根据手机A的状态信息以及手机B的状态信息,确定手机A当前的运行状态以及手机B当前的运行状态满足预设的触发条件(如手机A当前运行游戏D,且手机B处于亮屏且手机B的前台未运行应用程序的状态)。手机A中数据匹配模块生成第一信息(如手机A的系统版本信息、游戏D在手机A中的安装目录信息以及游戏D的包名)。S1915,手机A的数据匹配模块向手机A的信息交互模块传输第一信息。S1916,手机A的信息交互模块向手机A的NFC通信模块传输第一信息。S1917,手机A的NFC通信模块向手机B的信息交互模块传输第一信息。S1918,手机B中的NFC通信模块将第一信息传输至手机B的信息交互模块存储。S1919,手机B的信息交互模块向手机B的数据保存解析模块传输第一信息。S1920,手机B中的数据保存解析模块解析该第一信息并保存。S1921,手机B中的数据匹配模块获取解析后的第一信息。S1922,手机B中的数据匹配模块将该第一信息与手机B中的本地数据(如手机B的系统版本信息、手机B的预制应用目录、手机B的第三方应用目录等)进行匹配,确定出获取游戏D的来源。
在一个示例中,S1923,若手机B确定从手机A处获取游戏D,则手机B中的数据匹配模块向手机B的信息交互模块输出匹配结果(该匹配结果指示从手机A处获取游戏D)。S1924,手机B的信息交互模块向手机B的NFC通信模块请求获取游戏D的安装数据。S1925,手机B的NFC通信模块向手机A的NFC通信模块传输请求(即请求获取游戏D的安装数据)。S1926,手机A的NFC通信模块向手机A的信息交互模块传输请求。S1927,手机A的信息交互模块向手机A的应用数据打包模块传输请求。S1928,手机A的应用数据打包模块获取游戏D在安装目录下的数据,并打包成游戏D安装数据,即获得可安装程序的格式的安装数据。S1929,手机A中的应用数据打包模块将该游戏的安装数据传输给手机A的信息交互模块。S1930,手机A的信息交互模块将游戏D的安装数据传输至手机A的NFC通信模块。S1931,手机A的NFC通信模块向手机B的NFC通信模块传输游戏D的安装数据。S1932,手机B的信息交互模块存储游戏D的安装数据。S1933,手机B的信息交互模块将游戏D的安装数据传输至手机B的应用安装模块。S1934,手机B 的应用安装模块安装游戏D,并打开该游戏D。S1935,手机B的应用安装模块指示数据清理模块清理临时数据。S1936,手机B中数据清理模块可以清理临时数据(包括第一信息和游戏D的安装数据)。
图20为情况2对应场景中手机A与手机B之间内部模块之间的交互示意图。
手机A和手机B中均处于NFC状态(即NFC应用被启动)。S2001:手机A检测到碰撞且检测到手机A中的NFC应用被启动。S2002:手机A中的NFC通信模块向手机A中的信息交互模块指示查询手机A的状态。S2004:手机A中的信息交互模块指示手机A的状态检测模块查询手机A的状态。S2006:该手机A中的状态检测模块查询手机A的运行状态。手机B检测到碰撞且检测到手机B中的NFC应用被启动。S2003:手机B中的NFC通信模块向手机B中的信息交互模块指示查询手机B的状态。S2005:手机B中的信息交互模块指示手机B中的状态检测模块查询手机B中的状态。S2007:手机B中的状态检测模块查询手机B的运行状态。S2008:手机A中的状态检测模块将手机A的状态信息发送至手机A中的数据匹配模块。S2009:手机B中的状态检测模块将手机B的状态信息传输至信息交互模块。S2010,手机B中的信息交互模块将手机B的状态信息传输至手机B中的NFC通信模块。S2011,手机B中的NFC通信模块通过NFC通道将手机B的状态信息发送至手机A中的NFC通信模块。S2012,手机A中的NFC通信模块将手机B的状态信息传输至手机A的信息交互模块。S2013,手机A中的信息交互模块将手机B的状态信息传输至手机A的数据匹配模块。S2014,手机A的数据匹配模块根据手机A的状态信息以及手机B的状态信息,确定手机A当前的运行状态以及手机B当前的运行状态满足预设的触发条件(如手机A当前运行游戏D,且手机B处于亮屏且手机B的前台未运行应用程序的状态)。手机A中数据匹配模块生成第一信息(如手机A的系统版本信息、游戏D在手机A中的安装目录信息以及游戏D的包名)。S2015,手机A的数据匹配模块向手机A的信息交互模块传输第一信息。S2016,手机A的信息交互模块向手机A的NFC通信模块传输第一信息。S2017,手机A的NFC通信模块向手机B的信息交互模块传输第一信息。S2018,手机B中的NFC通信模块将第一信息传输至手机B的信息交互模块存储。S2019,手机B的信息交互模块向手机B的数据保存解析模块传输第一信息。S2020,手机B中的数据保存解析模块解析该第一信息并保存。S2021,手机B中的数据匹配模块获取解析后的第一信息。S2022,手机B中的数据匹配模块将该第一信息与手机B中的本地数据(如手机B的系统版本信息、手机B的预制应用目录、手机B的第三方应用目录等)进行匹配,确定出获取游戏D的来源。
在一个示例中,S2023,若手机B确定从手机B安装有游戏D,由手机B 的应用安装模块打开该游戏D。S2024,手机B的应用安装模块指示数据清理模块清理临时数据。S2025,手机B中应用数据清理模块可以清理临时数据(包括第一信息)。
图21为情况3对应场景中手机A与手机B之间内部模块之间的交互示意图。
步骤2101~步骤2122与图20中步骤2001~步骤2022的相关描述类似,此处不再进行赘述。在一个示例中,S2123,若手机B确定从云端处获取游戏D,则手机B的数据匹配模块指示手机B的后台应用下载模块下载游戏D。S2124,手机B的应用下载模块下载游戏D的安装数据。S2125,该手机B的后台应用下载模块向应用安装模块传输游戏D的安装数据。S2126,手机B 的应用安装模块安装游戏D,并打开该游戏D。S2127,手机B的应用安装模块指示数据清理模块清理临时数据。S2128,手机B中应用数据清理模块可以清理临时数据(包括第一信息和游戏D的安装数据)。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的启动应用的方法。存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的启动应用的方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本申请各个实施例的任意内容,以及同一实施例的任意内容,均可以自由组合。对上述内容的任意组合均在本申请的范围之内。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (14)
1.一种启动应用的方法,其特征在于,应用于第一电子设备,包括:
当所述第一电子设备与第二电子设备处于近场通信NFC状态,若所述第一电子设备检测到与所述第二电子设备发生触碰操作,则所述第一电子设备获取所述第一电子设备的状态信息,并基于NFC通道向所述第二电子设备发送所述第一电子设备的状态信息,以供所述第二电子设备判断所述第一电子设备与所述第二电子设备是否均满足由所述第二电子设备控制所述第一电子设备启动第一应用的触发条件,其中,所述第一电子设备的状态信息包括用于指示所述第一电子设备是否处于亮屏的信息以及用于指示所述第一电子设备的前台是否运行有应用程序的信息;
在所述第二电子设备确定所述第一电子设备和所述第二电子设备均满足所述触发条件的情况下,所述第一电子设备基于NFC通道接收由所述第二电子设备发送的第一信息;
从所述第一信息中获取所述第二电子设备的系统版本信息、所述第一应用在所述第二电子设备中的安装目录信息以及所述第一应用在所述第二电子设备中的包名;
判断所述第一电子设备的系统版本信息是否与所述第二电子设备的系统版本信息匹配,获取判断结果;
根据所述判断结果、所述第一应用在所述第二电子设备中的安装目录信息以及所述第一应用在所述第二电子设备中的包名,检测所述第一电子设备中是否存在所述第一应用,获得检测结果;
根据所述判断结果以及所述检测结果,确定所述第一应用的来源;
所述第一电子设备根据所述第一应用的来源,启动所述第一应用。
2.根据权利要求1所述的方法,其特征在于,所述触发条件包括:所述第一电子设备处于亮屏的状态且所述第一电子设备的前台未运行应用程序,且所述第二电子设备的前台运行有所述第一应用。
3.根据权利要求1所述的方法,其特征在于,所述根据所述判断结果以及所述检测结果,确定所述第一应用的来源,包括:
若所述检测结果指示所述第一电子设备中存在所述第一应用,则确定所述第一应用的来源为所述第一电子设备;
若所述检测结果指示所述第一电子设备中不存在所述第一应用且所述判断结果指示所述第一电子设备的系统版本信息与所述第二电子设备的系统版本信息匹配,则确定所述第一应用的来源为所述第二电子设备;
若所述检测结果指示所述第一电子设备中不存在所述第一应用且所述判断结果指示所述第一电子设备的系统版本信息与所述第二电子设备的系统版本信息不匹配,则确定所述第一应用的来源为应用市场对应的服务器。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述系统版本信息包括:操作系统的类型;
所述判断所述第一电子设备的系统版本信息是否与所述第二电子设备的系统版本信息匹配,获取判断结果,包括:
判断所述第一电子设备的系统类型是否与所述第二电子设备的系统类型相同,若确定所述第一电子设备的系统类型与所述第二电子设备的系统类型相同,则确定所述判断结果指示所述第一电子设备的系统版本信息与所述第二电子设备的系统版本信息匹配;
若确定所述第一电子设备的系统类型与所述第二电子设备的系统类型不相同,则确定所述判断结果指示第一电子设备的系统版本信息与所述第二电子设备的系统版本信息不匹配。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述判断结果、所述第一应用在所述第二电子设备中的安装目录信息以及所述第一应用在所述第二电子设备中的包名,检测所述第一电子设备中是否存在所述第一应用,获得检测结果,包括:
根据所述判断结果,确定用于查询所述第一应用的目标包名;
根据所述安装目录信息,确定在所述第一电子设备中的待查询目录;
在所述第一电子设备的所述待查询目录中查询是否存在所述目标包名,若查询到存在所述目标包名,则确定所述检测结果指示所述第一电子设备存在所述第一应用,若未查询到所述目标包名,则确定所述检测结果指示所述第一电子设备不存在所述第一应用。
6.根据权利要求5所述的方法,其特征在于,所述根据所述判断结果,确定用于查询所述第一应用的目标包名,包括:
若检测到所述判断结果指示所述第一电子设备的系统版本信息与所述第二电子设备的系统版本信息匹配,将所述第一应用的包名作为所述目标包名;
若检测到所述判断结果指示所述第一电子设备的系统版本信息与所述第二电子设备的系统版本信息不匹配,则将所述第一应用的包名转换为与所述第一电子设备的系统版本信息匹配的包名,并将转换后的包名作为所述目标包名。
7.根据权利要求5所述的方法,其特征在于,所述根据所述安装目录信息,确定在所述第一电子设备中的待查询目录,包括:
根据所述安装目录信息,判断所述第一应用是否安装在所述第二电子设备的预制应用目录下;
若确定所述第一应用安装在所述第二电子设备的预制应用目录下,则将所述第一电子设备的预制应用目录作为所述待查询目录;
若确定所述第一应用未安装在所述第二电子设备的所述预制应用目录下,则将所述第一电子设备的第三方应用目录作为所述待查询目录。
8.根据权利要求5所述的方法,其特征在于,所述在所述第一电子设备的所述待查询目录中查询是否存在所述目标包名,包括:
对所述待查询目录下各应用程序的包名进行排序;
对排序后的各应用程序的包名进行二分查找,查找是否存在所述目标包名。
9.根据权利要求3所述的方法,其特征在于,所述第一电子设备根据所述第一应用的来源,启动所述第一应用,包括:
若确定所述第一应用的来源为所述第二电子设备,则所述第一电子设备向所述第二电子设备请求获取所述第一应用的安装数据,所述第二电子设备响应于所述第一电子设备的获取请求生成所述第一应用的安装数据,并向所述第一电子设备发送所述第一应用的安装数据;
接收所述第一应用的安装数据;
运行所述第一应用的安装数据以对所述第一应用进行安装,并启动所述第一应用。
10.根据权利要求3所述的方法,其特征在于,所述第一电子设备根据所述第一应用的来源,启动所述第一应用,包括:
若确定所述第一应用的来源为应用市场对应的服务器,所述第一电子设备向所述服务器请求搜索所述第一应用的安装数据,所述服务器响应于所述第一电子设备的搜索请求,向所述第一电子设备反馈搜索结果;
接收所述搜索结果;
若检测到所述搜索结果指示搜索到所述第一应用,则所述第一电子设备从所述服务器下载所述第一应用的安装数据;
运行所述第一应用的安装数据以对所述第一应用进行安装,并启动所述第一应用。
11.根据权利要求1至3中任一项所述的方法,其特征在于,在所述第一电子设备检测到与所述第二电子设备发生触碰操作之后,且在所述第一电子设备获取所述第一电子设备的状态信息之前,包括:
在所述第一电子设备的显示屏中显示第一提示信息,所述第一提示信息用于提示用户是否同意由所述第二电子设备控制所述第一电子设备启动所述第一应用;
接收到用户输入的同意由所述第二电子设备控制所述第一电子设备启动所述第一应用的操作。
12.根据权利要求9或10所述的方法,其特征在于,若确定所述第一应用的来源为所述第二电子设备,所述方法还包括:
在所述第一电子设备的显示屏上显示第二提示信息,所述第二提示信息用于指示所述第一电子设备当前处于接收所述第一应用的安装数据的状态;
若确定所述第一应用的来源为应用市场对应的服务器,所述方法还包括:
在所述第一电子设备的显示屏上显示第三提示信息,所述第三提示信息用于指示所述第一电子设备下载所述第一应用的安装数据的下载进度;
在启动所述第一应用之后,所述方法还包括:
删除所述第一应用的临时数据,所述第一应用的临时数据包括:所述第一信息,或者所述第一信息和所述第一应用的安装数据。
13.一种启动应用的方法,其特征在于,应用于第二电子设备,包括:
当所述第二电子设备与第一电子设备处于近场通信NFC状态,若所述第二电子设备检测到与所述第一电子设备发生触碰操作,则所述第二电子设备获取所述第二电子设备的状态信息,其中,所述第二电子设备的状态信息包括用于指示所述第二电子设备的前台是否运行第一应用的信息;
响应于所述第一电子设备基于NFC通道发送的所述第一电子设备的状态信息,判断所述第一电子设备与所述第二电子设备是否均满足由所述第二电子设备控制所述第一电子设备启动所述第一应用的触发条件,所述第一电子设备的状态信息包括用于指示所述第一电子设备是否处于亮屏的信息以及用于指示所述第一电子设备的前台是否运行有应用程序的信息;
若确定所述第一电子设备与所述第二电子设备是否均满足所述触发条件,则生成第一信息,所述第一信息包括所述第二电子设备的系统版本信息、所述第一应用在所述第二电子设备中的安装目录信息以及所述第一应用在所述第二电子设备中的包名;
基于所述NFC 通道向所述第一电子设备发送所述第一信息,以供所述第一电子设备基于所述第一信息确定所述第一电子设备获取所述第一应用的来源,所述第一电子设备根据所述第一应用的来源,启动所述第一应用。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
以及一个或多个计算机程序,其中所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-12中任意一项所述的启动应用的方法,或者,执行如权利要求13所述的启动应用的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210142235.9A CN114185569B (zh) | 2022-02-16 | 2022-02-16 | 启动应用的方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210142235.9A CN114185569B (zh) | 2022-02-16 | 2022-02-16 | 启动应用的方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114185569A CN114185569A (zh) | 2022-03-15 |
CN114185569B true CN114185569B (zh) | 2022-06-24 |
Family
ID=80607068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210142235.9A Active CN114185569B (zh) | 2022-02-16 | 2022-02-16 | 启动应用的方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114185569B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2962571A1 (fr) * | 2010-07-08 | 2012-01-13 | Inside Contactless | Procede d'execution d'une application securisee dans un dispositif nfc |
CN103577228A (zh) * | 2013-10-25 | 2014-02-12 | 福建伊时代信息科技股份有限公司 | 控制设备中应用启动的方法、装置及系统 |
KR20150035914A (ko) * | 2015-03-06 | 2015-04-07 | 김승훈 | 모바일 단말기에서 앱을 개발하기 위한 방법 |
CN104620608A (zh) * | 2012-07-16 | 2015-05-13 | 谷歌公司 | 经由近场通信链路的应用程序数据的自动共享 |
CN107122236A (zh) * | 2017-04-25 | 2017-09-01 | 北京洋浦伟业科技发展有限公司 | 一种控制应用程序前台运行的方法与装置 |
CN107678851A (zh) * | 2017-10-24 | 2018-02-09 | 深圳市道通智能航空技术有限公司 | 一种开启应用程序的方法和第一终端 |
CN112783564A (zh) * | 2019-11-01 | 2021-05-11 | 华为技术有限公司 | 一种加速应用程序启动的方法及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10228819B2 (en) * | 2013-02-04 | 2019-03-12 | 602531 British Cilumbia Ltd. | Method, system, and apparatus for executing an action related to user selection |
-
2022
- 2022-02-16 CN CN202210142235.9A patent/CN114185569B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2962571A1 (fr) * | 2010-07-08 | 2012-01-13 | Inside Contactless | Procede d'execution d'une application securisee dans un dispositif nfc |
CN104620608A (zh) * | 2012-07-16 | 2015-05-13 | 谷歌公司 | 经由近场通信链路的应用程序数据的自动共享 |
CN103577228A (zh) * | 2013-10-25 | 2014-02-12 | 福建伊时代信息科技股份有限公司 | 控制设备中应用启动的方法、装置及系统 |
KR20150035914A (ko) * | 2015-03-06 | 2015-04-07 | 김승훈 | 모바일 단말기에서 앱을 개발하기 위한 방법 |
CN107122236A (zh) * | 2017-04-25 | 2017-09-01 | 北京洋浦伟业科技发展有限公司 | 一种控制应用程序前台运行的方法与装置 |
CN107678851A (zh) * | 2017-10-24 | 2018-02-09 | 深圳市道通智能航空技术有限公司 | 一种开启应用程序的方法和第一终端 |
CN112783564A (zh) * | 2019-11-01 | 2021-05-11 | 华为技术有限公司 | 一种加速应用程序启动的方法及电子设备 |
Non-Patent Citations (2)
Title |
---|
Response Time Analysis to Support Business Process of the NFC Communication in Smartphone;L.N. Hamaningrum等;《2019 International Seminar on Research of Information Technology and Intelligent Systems (ISRITI)》;20200316;1-3 * |
基于Android平台的NFC服务框架的设计与实现;蒋欣辰;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20160315;I138-2208 * |
Also Published As
Publication number | Publication date |
---|---|
CN114185569A (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107464557B (zh) | 通话录音方法、装置、移动终端及存储介质 | |
US9413868B2 (en) | Automatic personal assistance between user devices | |
CN109117361B (zh) | 一种小程序的远程调试方法、相关设备及系统 | |
US8095939B2 (en) | Managing application interactions using distributed modality components | |
US9055607B2 (en) | Data buddy | |
JP4897837B2 (ja) | ユーザインターフェースコンポーネントをワイヤレスデバイスにダウンロードするシステムおよび方法 | |
US20050102625A1 (en) | Audio tag retrieval system and method | |
US7647075B2 (en) | Terminal device and program | |
EP1699207B1 (en) | Network request execution after fulfillment of associated criteria | |
KR102168011B1 (ko) | 사용자 모바일 디바이스를 이용한 액세서리 디바이스 동작 | |
CN111192578B (zh) | 应用控制方法、装置、存储介质及电子设备 | |
CN108037990B (zh) | 任务信息处理方法、装置以及服务器 | |
WO2005084202A2 (en) | Execution of unverified programs in a wireless device operating environment | |
US20020188726A1 (en) | Data object mark and send procedure | |
CN117677934A (zh) | 跨平台上下文激活 | |
CN109284261A (zh) | 应用查找方法、装置、存储介质及电子设备 | |
US11936611B2 (en) | Prioritizing transmissions based on user engagement | |
CN106534280B (zh) | 数据分享方法及装置 | |
CN103141125A (zh) | 无线通信装置以及无线通信方法 | |
CN108769234A (zh) | 应用下载方法、装置、存储介质及电子设备 | |
CN105988841A (zh) | 一种应用程序的更新方法及移动终端 | |
CN114756306A (zh) | 服务调用方法、装置、设备及存储介质 | |
CN111143523A (zh) | 意图确认方法及装置 | |
CN108874554B (zh) | 信息通信方法及装置 | |
CN114937452A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230911 Address after: 201306 building C, No. 888, Huanhu West 2nd Road, Lingang New Area, Pudong New Area, Shanghai Patentee after: Shanghai Glory Smart Technology Development Co.,Ltd. Address before: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee before: Honor Device Co.,Ltd. |