本发明涉及移动通信领域,具体而言,涉及一种电子终端及应用程序管理装置与方法。
背景技术:
随着手机游戏市场的持续火爆,涌现了越来越多画面精致的新款手机游戏,对于游戏应用分发平台而言,其提供给用户的游戏安装包文件(以下简称APK)是否在用户的手机上成功安装,是关系到用户体验以及平台口碑的重要问题。要解决以上问题,首先需要知道用户是否成功安装APK,如果安装失败,用户安装失败的原因是什么,了解了上述信息,才能进一步帮助用户解决安装失败的问题。
现有技术中,要获取APK是否成功安装的信息,比较成熟的方案是依赖于安卓系统提供的广播机制。具体为应用分发平台向系统发起安装请求,系统则将安装APK这个过程托管给系统包管理服务(Package Manager Service,PMS)进行,PMS在成功安装APK后,会向全系统发出广播,只需要向系统注册该广播指令,便可以知道系统成功安装了一个APK。但如果APK安装失败,PMS本身不会给出任何信息,由于无法给出安装失败的提示、安装失败的原因及解决问题的方案,用户需要直接求助于应用分发平台的客服和技术人员了解安装过程遇到的问题及解决方案,效率低并且用户的体验感差。另外,要获取到安装失败的信息,目前业界普遍依赖于Root权限下,通过直接执行系统命令并获取命令返回结果来得知失败信息,或者通过收集系统运行中的日志,并对关键信息进行过滤筛选来得到失败信息。前者由于需要root权限,其使用范围受到了限制;后者则需要处理大量运行日志信息,而且随着安卓系统的升级,该方案的权限也受到了限制,因此也不适宜在正式的推广版本中使用。
技术实现要素:
本发明的目的在于提供一种电子终端及应用程序管理装置与方法,以改善上述的技术问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种应用程序管理装置,所述应用程序管理装置包括:
安装请求发送单元,用于发送安装请求至一终端操作系统,且所述安装请求携带有一应用程序的安装指令、安装路径及结果反馈需求信息;
安装结果接收单元,用于接收所述终端操作系统依据所述安装指令和安装路径发送的与所述结果反馈需求信息关联的安装结果;
结果解析单元,用于解析所述安装结果,若所述安装结果表征所述应用程序安装失败时,生成安装失败的原因。
第二方面,本发明实施例还提供了一种应用程序管理方法,所述应用程序管理方法包括:
发送安装请求至一终端操作系统,且所述安装请求携带有一应用程序的安装指令、安装路径及结果反馈需求信息;
接收所述终端操作系统依据所述安装指令和安装路径发送的与所述结果反馈需求信息关联的安装结果;
解析所述安装结果,若所述安装结果表征所述应用程序安装失败时,生成安装失败的原因。
第三方面,本发明实施例还提供了另一种应用程序管理方法,所述应用程序管理方法包括:
利用一应用分发平台发送安装请求至一终端操作系统,且所述安装请求携带有一应用程序的安装指令、安装路径及结果反馈需求信息;
所述终端操作系统接收所述安装请求,并依据所述安装指令、所述安装路径安装所述应用程序,并依据所述结果反馈需求信息发送安装结果至所述应用分发平台;
所述应用分发平台接收所述终端操作系统发送的安装结果;
所述应用分发平台解析所述安装结果,若所述安装结果表征所述应用程序安装失败时,生成安装失败的原因。
第四方面,本发明实施例还提供了一种电子终端,所述电子终端包括:
存储器;
处理器;及
应用程序管理装置,所述装置安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,所述应用程序管理装置包括:
安装请求发送单元,用于发送安装请求至一终端操作系统,且所述安装请求携带有一应用程序的安装指令、安装路径及结果反馈需求信息;
安装结果接收单元,用于接收所述终端操作系统依据所述安装指令和安装路径发送的与所述结果反馈需求信息关联的安装结果;
结果解析单元,用于解析所述安装结果,若所述安装结果表征所述应用程序安装失败时,生成安装失败的原因。
本发明实施例提供的一种电子终端及应用程序管理装置与方法,由于发送至终端操作系统的安装请求携带有结果反馈需求信息,在终端操作系统依据安装请求对应用程序安装后会生成安装结果,其中,安装结果包括安装成功和安装失败,若所述安装结果表征所述应用程序安装失败时,生成安装失败的原因。在利用该电子终端及应用程序管理装置与方法安装应用程序时,若应用程序安装失败,即可提示用户应用程序安装失败,并且给出用户安装失败的原因的提示,用户即可实时了解安装失败原因,并对安装的方式作出调整,以成功的安装应用程序,无需联系客服询问安装失败原因,用户操作体验感高。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明较佳实施例提供的电子终端的结构框图;
图2示出了本发明较佳实施例提供的一种应用程序管理方法的流程图;
图3示出了本发明较佳实施例提供的第一种解决方案提示显示于电子终端的示意图;
图4示出了本发明较佳实施例提供的第二种解决方案提示显示于电子终端的示意图;
图5示出了本发明较佳实施例提供的第三种解决方案提示显示于电子终端的示意图;
图6示出了本发明较佳实施例提供的另一种应用程序管理方法的流程图;
图7示出了本发明较佳实施例提供的应用程序管理装置的功能模块图。
其中,附图标记与部件名称之间的对应关系如下:电子终端100,应用程序管理装置101,存储器102,存储控制器103,处理器104,外设接口105,射频模块106,音频模块107,触控屏幕108,安装请求发送单元701,安装结果接收单元702,结果解析单元703,提示单元704。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
于本发明实施例中,电子终端100中安装有至少一个应用程序(Application,APP),与终端操作系统相对应,为用户提供服务。
于本发明实施例中,电子终端100优选为移动终端设备,例如,移动终端设备可以包括智能手机、平板电脑、电子书阅读器、膝上型便携计算机、车载电脑、穿戴式移动终端等等。
图1示出了一种可应用于本发明实施例中的电子终端100的结构框图。如图1所示,电子终端100包括应用程序管理装置101、存储器102、存储控制器103,一个或多个(图中仅示出一个)处理器104、外设接口105、射频模块106、音频模块107、触控屏幕108等。所述应用程序管理装置101包括至少一个可以以软件或固件(firmware)的形式存储于所述存储器102中或固化在所述电子终端100的操作系统(operating system,OS)中的软件功能模块。
存储器102可用于存储软件程序以及模块,如本发明实施例中的应用程序管理装置及方法所对应的程序指令/模块,处理器104通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本发明实施例提供的应用程序管理方法。
存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。处理器104以及其他可能的组件对存储器102的访问可在存储控制器103的控制下进行。
外设接口105将各种输入/输出装置耦合至处理器104以及存储器102。在一些实施例中,外设接口105、处理器104以及存储控制器103可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频模块106用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。
音频模块107向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
触控屏幕108在电子终端100与用户之间同时提供一个输出及输入界面。在本实施例中,所述触控屏幕108支持单点和多点触控操作,例如,该触控屏幕108可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是触控屏幕108能感应到来自该触控屏上一个或多个位置处同时产生的触控操作,并将该感应到的多点触控操作交由处理器104进行处理。
可以理解,图1所示的结构仅为示意,电子终端100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本发明实施例提出的电子终端及应用程序管理装置与方法,提供了一种新的应用程序管理方法。该电子终端及应用程序管理装置与方法可适用于Android操作系统、iOS操作系统、Windows Phone操作系统等平台。具体地,本发明实施例提出的应用程序管理装置、方法可应用于电子终端100的应用程序安装客户端(如游戏安装客户端),即可提示用户应用程序安装失败,并且给出用户安装失败的原因的提示,用户即可实时了解安装失败原因,并对安装的方式作出调整,以成功的安装应用程序,无需联系客服询问安装失败原因,用户操作体验感高。
请参阅图2,本发明实施例提供的一种应用程序管理方法,所述应用程序管理方法包括:
步骤S201:利用一应用分发平台发送安装请求至一终端操作系统,且所述安装请求携带有一应用程序的安装指令、安装路径及结果反馈需求信息。
具体地的安装请求的发送方式可以为,例如打开一应用分发平台,应用分发平台可以为但不限于360手机助手、应用宝、豌豆荚以及百度手机助手等等。然后找到需要安装的应用程序,点击安装图标即可发送安装请求至终端操作系统,其中,安装请求携带有需要安装的应用程序的安装指令、安装路径即结果反馈需求信息。本实施例中,安装请求携带的所有信息封装在一被称为Intent的数据结构中。一般来说该安装请求的Intent中会包含要求终端操作系统执行的指令(本实施例中为安装指令),以及安装指令需要操作的数据(本实施例中为待安装的软件安装包的文件路径),需要说明的是,这里需要向封装该安装请求携带的信息的Intent中添加附加参数EXTRA_RETURN_RESULT,并指定其值为true,即结果反馈需求信息,通过上述附加参数可以通知终端操作系统,需要给出本次安装的结果信息。
步骤S202:所述应用分发平台接收所述终端操作系统依据所述安装指令和安装路径发送的与所述结果反馈需求信息关联的安装结果。
终端操作系统接收到安装请求后,解析安装请求得到安装指令,并将软件安装包的路径以及上述的结果反馈需求信息托管给系统包管理服务进行,随后系统包管理服务会自动执行一系列的安装包解析、文件复制、应用信息注册等操作,如果成功完成安装流程,则会返回安装成功的结果信息至应用分发平台;如果任何一个安装流程出现错误,会返回安装失败的结果信息至应用分发平台,且安装失败的结果信息携带有安装错误的原因。
步骤S203:解析所述安装结果并判断所述应用程序是否安装成功,若所述安装结果表征所述应用程序安装成功时,执行步骤S204;若所述安装结果表征所述应用程序安装失败时,执行步骤S205。
步骤S204:生成安装成功的提示。
步骤S205:生成安装失败的原因并执行步骤S206。
本实施例中,安装失败的原因包括但不限于安装包文件损坏、系统存储空间出错、存储卡出错、终端操作系统与软件安装包不兼容。具体地,所述安装结果包括安装失败错误码,其中,若所述安装结果表征所述应用程序安装失败时,通过安装结果解析得到所述安装错误码。步骤S205包括在所述安装结果表征所述应用程序安装失败时,依据所述安装失败错误码和所述电子终端的系统运行环境,生成安装失败的原因。本实施例中,在系统的系统包管理服务中定义了43种错误码,每种错误码分别对当前终端操作系统遇到的安装错误进行了简单的描述,可以用户使得初步了解安装失败的原因;当然地,错误码的种类以及每种错误码的表征的安装失败的原因可依据用户自身需要而设置,在此就不再多做赘述。此时,获取电子终端的系统的运行环境,便可以得出比较准确的安装失败原因。
例如,错误码-4代表用户当前系统空间不足,此时获取用户系统的空间剩余大小,电子终端的存储卡剩余空间大小,分别与用户需要安装的软件安装包的大小对比,依据用户选择的软件安装包的安装位置(系统空间中或存储卡),即可得到准确的安装失败的原因。需要说明的是,本实施例中,用户系统运行环境包括但不限于:用户安软件安装包装的位置、用户系统空间剩余大小、用户SD卡空间大小、用户SD卡数量以及软件安装包信息、终端操作系统与软件安装包是否兼容。
例如,若安装结果表征所述应用程序安装成功时,安装成功的提示为展示出安装成功页面,且该页面有安装成功的提示信息。
步骤S206:生成引导提示。
本实施例中,所述引导提示可以为但不限于显示于所述电子终端的显示屏上的引导按钮,例如引导提示还可以显示于所述电子终端的显示屏上的引导图标。
步骤S207:在用户响应所述引导提示时弹出与所述安装失败的原因关联的解决方案提示。
用户响应引导提示的方式可以为但不限于:当引导提示为引导按钮时,用户通过点击引导按钮即响应引导提示,当引导提示为引导图标时,用户通过触摸引导图标即响应引导提示。
如图3所示,若所述安装失败的原因为安装包文件损坏,用户点击引导按钮后,当前页面显示出“安装包文件损坏,重新安装应用程序”的解决方案提示。如图4所示,若所述安装失败的原因为系统存储空间出错,当前页面显示出“内存不足,建议删除不常用的文件或应用程序”的解决方案提示。如图5所示,若所述安装失败的原因为存储卡出错,当前页面显示出“SD卡出错,建议更换SD卡或者安装位置”的解决方案提示。用户观察到上述的解决方案提示后,即可自行依据解决方案提示调整正确安装方式,从而成功安装应用程序。
请参阅图6,本发明实施例还提供了一种应用程序管理方法,需要说明的是,本实施例所提供的应用程序管理方法,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。所述应用程序管理方法包括:
步骤S601:利用一应用分发平台发送安装请求至一终端操作系统,且所述安装请求携带有一应用程序的安装指令、安装路径及结果反馈需求信息。
步骤S602:所述终端操作系统接收所述安装请求,并依据所述安装指令、所述安装路径安装所述应用程序,并依据所述结果反馈需求信息发送安装结果至所述应用分发平台。
步骤S603:所述应用分发平台接收所述终端操作系统发送的安装结果。
步骤S604:所述应用分发平台解析所述安装结果,若所述安装结果表征所述应用程序安装失败时,生成安装失败的原因。
步骤S605:所述应用分发平台在用户响应所述引导提示时弹出与所述安装失败的原因关联的解决方案提示。
请参阅图7,本发明实施例一种应用程序管理装置101,应用于电子终端,所述应用程序管理装置101包括安装请求发送单元701、安装结果接收单元702、结果解析单元703以及提示单元704。
所述安装请求发送单元701用于发送安装请求至一终端操作系统,且所述安装请求携带有一应用程序的安装指令、安装路径及结果反馈需求信息。
可以理解地,上述的步骤S201、S601可以由安装请求发送单元701实现。
所述安装结果接收单元702用于接收所述终端操作系统依据所述安装指令和安装路径发送的与所述结果反馈需求信息关联的安装结果。
可以理解地,上述的步骤S202、步骤S603可以由安装结果接收单元702实现。
所述结果解析单元703用于解析所述安装结果并判断所述应用程序是否安装成功,若所述安装结果表征所述应用程序安装失败时,生成安装失败的原因。
可以理解地,上述的步骤S203、步骤S204、步骤S205以及步骤S604可以由结果解析单元703实现。
具体地,若所述安装结果表征所述应用程序安装失败时,所述安装结果包括安装失败错误码,所述结果解析单元703还用于依据所述安装失败错误码和所述电子终端的系统运行环境,生成安装失败的原因。
所述提示单元704用于在若所述安装结果表征所述应用程序安装失败时生成引导提示。
其中引导提示可以为显示于所述电子终端的显示屏上的引导按钮或者引导图标。
另外,所述提示单元704还用于在用户响应所述引导提示时弹出与所述安装失败的原因关联的解决方案。
可以理解地,上述的步骤S206、步骤S207以及步骤S605可以由提示单元704实现。
综上,本发明实施例提供的一种电子终端及应用程序管理装置与方法,由于发送至终端操作系统的安装请求携带有结果反馈需求信息,在终端操作系统依据安装请求对应用程序安装后会生成安装结果,其中,安装结果包括安装成功和安装失败,若所述安装结果表征所述应用程序安装失败时,生成安装失败的原因。在利用该电子终端及应用程序管理装置101与方法安装应用程序时,若应用程序安装失败,即可提示用户应用程序安装失败,并且给出用户安装失败的原因的提示,用户即可实时了解安装失败原因,并对安装的方式作出调整,以成功的安装应用程序,无需联系客服询问安装失败原因,用户操作体验感高。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端操作系统,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。