CN104133693B - 安装状态检测方法、装置及终端 - Google Patents
安装状态检测方法、装置及终端 Download PDFInfo
- Publication number
- CN104133693B CN104133693B CN201410329120.6A CN201410329120A CN104133693B CN 104133693 B CN104133693 B CN 104133693B CN 201410329120 A CN201410329120 A CN 201410329120A CN 104133693 B CN104133693 B CN 104133693B
- Authority
- CN
- China
- Prior art keywords
- destination application
- client
- operating system
- suspended
- enabled instruction
- 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
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种安装状态检测方法、装置及终端,属于计算机程序领域。该方法包括:向操作系统发送用于启动目标应用程序的启动指令;检测客户端是否因为目标应用程序的启动而被挂起至后台运行;如果客户端被挂起至后台运行,则确定目标应用程序的安装状态为已安装。该装置包括:发送模块、检测模块和确定模块。本发明通过发送启动指令,检测客户端是否因目标应用程序的启动被挂起,如果客户端被挂起,则目标应用程序已安装;解决了客户端无法获取目标应用程序在电子设备上的安装状态,如果电子设备上已安装目标应用程序,用户重新下载安装该目标应用程序,造成浪费流量的问题,避免了用户做无意义的操作。
Description
技术领域
本发明涉及计算机程序领域,特别涉及一种安装状态检测方法、装置及终端。
背景技术
电子设备可以安装不同的APP(Application,应用程序)来实现不同的功能。电子设备上若要运行一个APP,通常需要先从网络服务器中下载该APP的安装包,并对其进行安装后,方可正常启动并运行该APP。
请参考图1,其示出了现有技术中一种获取APP的方法的实施示意图。在获取APP的过程中,用户使用浏览器访问该APP有关的网页10,然后在该网页10中点击该APP的下载按钮12,然后在下载好该APP的安装包之后,点击安装该APP。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:由于一些原因,比如没有足够的系统权限时,浏览器无法获取该APP在电子设备上的安装状态,如果该电子设备上已经安装该APP,则用户点击下载按钮12后,会重新下载并安装一次该APP,不仅浪费流量,还使用户做了无意义的操作。
发明内容
为了解决客户端无法获取APP在电子设备上的安装状态,如果该电子设备上已经安装应用程序,则用户点击下载按钮后,会重新下载并安装一次该应用程序,不仅浪费流量,还使用户做了无意义的操作的问题,本发明实施例提供了一种安装状态检测方法、装置及终端。所述技术方案如下:
根据本发明实施例的第一方面,提供了一种安装状态检测方法,用于客户端中,所述方法包括:
向操作系统发送用于启动目标应用程序的启动指令;
检测该客户端是否因为该目标应用程序的启动而被挂起至后台运行;
如果该客户端被挂起至后台运行,则确定该目标应用程序的安装状态为已安装。
根据本发明实施例的第二方面,提供了一种安装状态检测装置,用于客户端中,所述装置包括:
发送模块,用于向操作系统发送用于启动目标应用程序的启动指令;
检测模块,用于检测该客户端是否因为该目标应用程序的启动而被挂起至后台运行;
确定模块,用于如果该客户端被挂起至后台运行,则确定该目标应用程序的安装状态为已安装。
根据本发明实施例的第三方面,提供了一种终端,所述终端包括:
一个或者一个以上的处理器;
存储器;
以及一个或者一个以上的程序,其中该一个或者一个以上程序存储于该存储器中,且经配置以由该一个或者一个以上处理器执行,该一个或者一个以上程序包含用于进行以下操作的指令:
向操作系统发送用于启动目标应用程序的启动指令;
检测该客户端是否因为该目标应用程序的启动而被挂起至后台运行;
如果该客户端被挂起至后台运行,则确定该目标应用程序的安装状态为已安装。
本发明实施例提供的技术方案带来的有益效果是:
通过向操作系统发送用于启动目标应用程序的启动指令,检测客户端是否因为目标应用程序的启动被挂起,如果客户端被挂起,则目标应用程序的安装状态为已安装;解决了客户端无法获取目标应用程序在电子设备上的安装状态,如果电子设备上已经安装目标应用程序,用户重新下载并安装一次该目标应用程序,造成浪费流量的问题,避免了用户做无意义的操作。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中一种获取APP的方法的实施示意图;
图2是本发明一个实施例提供的安装状态检测方法的方法流程图;
图3是本发明另一实施例提供的安装状态检测方法的方法流程图;
图4A是本发明再一实施例提供的安装状态检测方法的方法流程图;
图4B是本发明再一实施例提供的一种包括目标应用程序的下载按钮的网页页面;
图4C是本发明再一实施例提供的向操作系统发送用于启动目标应用程序的启动指令方法的方法流程图;
图5是本发明一个实施例提供的安装状态检测装置的装置结构示意图;
图6是本发明另一实施例提供的安装状态检测装置的装置结构示意图;
图7是本发明再一实施例提供的安装状态检测装置的装置结构示意图;
图8是本发明的一个实施例提供的终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例中的电子设备可以是具有客户端以及应用程序运行功能的电子设备。该电子设备可以是智能手机、平板电脑、电子书阅读器、MP3播放器(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面4)播放器或者膝上型便携计算机等等。
本发明实施例中的客户端是指可以运行于电子设备上的应用程序。该客户端包括但不限于:浏览器应用、具有浏览网页功能的即时通信类应用、具有浏览网页功能的社交类应用、应用程序管理应用、具有浏览网页功能的综合性管理应用。
请参考图2,其示出了本发明一个实施例提供的安装状态检测方法的方法流程图。本实施例以该安装状态检测方法应用于客户端中来进行举例说明。参见图2,该方法流程具体包括:
201、向操作系统发送用于启动目标应用程序的启动指令。
202、检测客户端是否因为该目标应用程序的启动而被挂起至后台运行。
由于客户端无法直接检测目标应用程序是否已经安装。所以本实施例中通过客户端自身的一些特性来间接地检测目标应用程序是否已经安装。具体来讲:
如果目标应用程序已经安装在电子设备中,在客户端发出启动指令后,目标应用程序会启动并在前台运行,当前的客户端会被挂起至后台运行;如果目标应用程序未安装在电子设备中,则目标应用程序不会启动,当前的客户端不会被挂起至后台运行。
203、如果该客户端被挂起至后台运行,则确定该目标应用程序的安装状态为已安装。
综上所述,本发明实施例提供的安装状态检测方法,通过向操作系统发送用于启动目标应用程序的启动指令,检测客户端是否因为目标应用程序的启动被挂起,如果客户端被挂起,则目标应用程序的安装状态为已安装;解决了客户端无法获取目标应用程序在电子设备上的安装状态,如果电子设备上已经安装目标应用程序,用户重新下载并安装一次该目标应用程序,造成浪费流量的问题,避免了用户做无意义的操作。
请参考图3,其示出了本发明另一实施例提供的安装状态检测方法的方法流程图。本实施例以该安装状态检测方法应用于客户端中来进行举例说明。参见图3,该方法流程具体包括:
301、向操作系统发送用于启动目标应用程序的启动指令。
客户端在需要检测目标应用程序的安装状态时,可以向操作系统发送一个启动指令。该启动指令用于启动目标应用程序。
302、在发送该启动指令的同时,在该客户端中启动一个延时器倒计时预定时长T。
客户端在发送该启动指令的同时,还会启动一个延时器,该延时器用于帮助检测客户端是否被挂起至后台运行。此处的原理为:如果客户端被挂起至后台运行,在挂起时该延时器将会被迫暂停一小段时间;如果客户端未被挂起至后台运行,该延时器会顺利执行下去。客户端将延时器的延时时长和延时过程实际经历的时长作比较,即可确定出该延期器是否被迫暂停过。
其中,该预定时长T可以根据经验确定,优选地,该预定时长为1000ms。
303、在倒计时该预定时长T结束时,检测当前时刻和发送该启动指令的时刻之间的时间差与该预定时长T之间的差值是否超过预设门限。
客户端在延时器倒计时预定时长T结束时,获取当前时刻和发送该启动指令的时刻之间的时间差Tc,该时间差Tc是延时过程实际经历的时长。
如果该时间差Tc大于该预定时长T,则说明延时器被暂停过,客户端曾经被挂起至后台运行,进入步骤304。比如,时间差Tc为1100ms,预定时长T为1000ms。
如果该时间差Tc等于或者约等于该预定时长T,则说明延时器未被暂停过,客户端未被挂起至后台运行。比如,时间差Tc为1000ms,预定时长T为1000ms。又比如,时间差Tc为1002ms,预定时长T为1000ms。
为了容忍一定的误差,引入了预设门限,该预设门限可以是10ms。当时间差Tc减去预定时长T的差值大于10ms,认为该时间差Tc大于该预定时长T;当时间差Tc减去预定时长T的差值小于10ms,认为该时间差Tc等于或约等于该预定时长T。
304、如果该时间差与该预定时长T之间的差值超过该预设门限,则该客户端被挂起至后台运行。
如果该时间差与该预定时长T之间的差值超过该预设门限,则说明在倒计时预定时长T结束之前,该目标应用程序已经启动,进一步地,说明客户端被挂起至后台运行,且该客户端被挂起至后台运行是因为目标应用程序的启动。
305、如果该客户端被挂起至后台运行,则确定该目标应用程序的安装状态为已安装。
由步骤304可知,客户端被挂起至后台运行是由于目标应用程序的启动,那么,进一步地,说明了目标应用程序是已经安装在电子设备中的,即,可以确定目标应用程序的安装状态是已安装。
综上所述,本发明实施例提供的安装状态检测方法,通过向操作系统发送用于启动目标应用程序的启动指令,检测客户端是否因为目标应用程序的启动被挂起,如果客户端被挂起,则目标应用程序的安装状态为已安装;解决了客户端无法获取目标应用程序在电子设备上的安装状态,如果电子设备上已经安装目标应用程序,用户重新下载并安装一次该目标应用程序,造成浪费流量的问题,避免了用户做无意义的操作。
本发明实施例提供的安装状态检测方法,通过在发送启动指令的同时在客户端中启动延时器倒计时时长T,并在倒计时结束时,检测当前时刻和发送启动指令的时刻之间的时间差与预定时长T之间的差值是否超过预设门限,根据该时间差与预定时长T之间的差值是否超过预设门限,来检测客户端是否被挂起至后台运行,可以使客户端通过延时器间接地检测出目标应用程序是否被安装。
请参考图4A,其示出了本发明再一实施例提供的安装状态检测方法的方法流程图。本实施例以该安装状态检测方法应用于客户端中来进行举例说明。参见图4A,该方法流程具体包括:
401、显示一网页页面,该网页页面中包括目标应用程序的下载按钮。
在本发明实施例中,用户可以通过点击网址链接或扫描二维码,触发电子设备显示一网页页面。
其中,该网页页面中至少包括目标应用程序的下载按钮,该网页页面中还可以包括目标用应用程序的图标,目标应用程序的大小,目标应用程序的版本信息以及对该目标应用程序的介绍信息等信息。可选地,该网页页面可以为图4B所示的网页页面40。
请参考图4B,其示出了本发明再一实施例提供的一种包括目标应用程序的下载按钮的网页页面。可以看出,该网页页面中包括下载按钮“进入下载”42,目标用应用程序的图标,目标应用程序的大小37MB,目标应用程序的版本信息5.3.0.16、对该目标应用程序的介绍信息等信息。
402、在该下载按钮被点击后,向操作系统发送用于启动该目标应用程序的启动指令。
比如,以图4B所示的网页页面为例,当用户点击该图4B中的下载按钮“进入下载”42时,触发客户端向操作系统发送用于启动该目标应用程序的启动指令。
在本发明实施例中,该客户端向操作系统发送用于启动该目标应用程序的启动指令可以包括三个子步骤,如图4C所示。
402a、获取操作系统的系统类型。
在本发明实施例中,针对同一个目标应用程序,不同类型的操作系统对应该目标应用程序的启动指令是不同的。因此,客户端在向操作系统发送启动指令之前,需获取操作系统的系统类型。假设客户端获取到的操作系统的系统类型为A,该系统类型为A的操作系统可以为Android或ios中的任意一种。
402b、生成与该系统类型匹配的该用于启动该目标应用程序的URI(UniformResourceIdentifier,统一资源标识符)。
其中,该URI至少携带有协议头和启动参数,该URI还可以携带存放目标应用程序对应的资源的主机名;其中,协议头用于指示处理该协议头对应的URI协议的启动程序,启动参数用于指示需要启动应用程序,即,目标应用程序。可选地,该URI可以是一个URIScheme(统一资源标识符方案)。
假设URI对应的协议为y协议,则URI携带的协议头就为y://,假设目标应用程序为聊天软件,并继续假设客户端获取到的操作系统的系统类型为A,则客户端生成的与该系统类型为A的操作系统匹配的,用于启动目标应用程序聊天软件的URI就可以为y://id=chat,其中y://为协议头,id=chat为启动参数。
需要说明的是,以上步骤402a和402b可以与步骤401同时进行,即,客户端在显示网页页面的同时,获取操作系统的系统类型,并根据该系统类型生成与该系统类型匹配的用于启动该目标应用程序的统一资源标识符URI。
402c、向该操作系统发送一个用于启动该目标应用程序的URI,以便该操作系统解析该URI后,根据该URI携带的协议头对应的协议和启动参数启动该目标应用程序。
当客户端生成与系统类型匹配的用于启动目标应用程序的URI时,客户端将该URI发送给操作系统,以使得操作系统通过解析该URI后,可以根据该URI携带的协议头所对应的协议和该URI携带的启动参数,启动目标应用程序。
比如,以步骤402c中生成的与系统类型为A的操作系统匹配的启动目标应用程序聊天软件的URIy://id=chat为例,客户端就可以将该y://id=chat发送给操作系统,以使得操作系统通过解析该y://id=chat,并根据该URI的协议头y://所对应的协议,即y协议,和该URI携带的启动参数id=chat,启动目标应用程序聊天软件。
需要说明的是,客户端在将URI发送给操作系统时,可以通过启动程序将该URI发送给操作系统,其中,该启动程序用于启动目标应用程序。
当客户端通过启动程序将URI发送给操作系统时,客户端需要先在操作系统中注册一个启动程序,以使得客户端可以通过启动程序将URI发送给操作系统。
但是,需要说明的是,针对同一个目标应用程序,不同类型的操作系统对应于该目标应用程序的启动程序可能不同;对于同一种类型的操作系统,不同的目标应用程序的启动程序也可能不同。那么,客户端在注册启动程序时,就需要根据操作系统的系统类型以及目标应用程序的不同,注册不同的启动程序。
403、在发送该启动指令的同时,在客户端中启动一个延时器倒计时预定时长T。
该步骤403与图3所示实施例中的步骤302相同或类似,本实施例对此不再赘述。
404、在倒计时该预定时长T结束时,检测当前时刻和发送该启动指令的时刻之间的时间差与该预定时长T之间的差值是否超过预设门限。
该步骤404与图3所示实施例中的步骤303相同或类似,本实施例对此不再赘述。
405、如果该时间差与该预定时长T之间的差值超过该预设门限,则该客户端被挂起至后台运行。
该步骤405与图3所示实施例中的步骤304相同或类似,本实施例对此不再赘述。
406、如果该客户端被挂起至后台运行,则确定该目标应用程序的安装状态为已安装。
该步骤406与图3所示实施例中的步骤305相同或类似,本实施例对此不再赘述。
407、如果该时间差与该预定时长T之间的差值未超过预设门限,则该客户端未被挂起至后台运行。
在步骤404中,如果客户端检测到当前时刻和发送该启动指令的时刻之间的时间差与该预定时长T之间的差值未超过预设门限,则说明在倒计时预定时长T结束时,该目标应用程序还没有启动,进一步地,说明客户端未被挂起至后台运行。
408、如果该客户端未被挂起至后台运行,则确定该目标应用程序的安装状态为未安装。
由步骤407可知,客户端未被挂起至后台运行是由于在预定时长T结束时,目标应用程序还没有启动,那么,进一步地,说明目标应用程序没有安装在电子设备中的,即,可以确定目标应用程序的安装状态是未安装。
409、获取操作系统的系统类型。
如果客户端确定电子设备中未安装目标应用程序,则客户端获取操作系统的系统类型。
在本发明实施例中,针对同一个目标应用程序,不同类型的操作系统对应该目标应用程序的下载链接是不同的。因此,客户端在根据下载链接下载目标应用程序之前,需获取操作系统的系统类型。假设客户端获取到的操作系统的系统类型为A,该系统类型为A的操作系统可以为Android或ios中的任意一种。
410、生成与该系统类型匹配的该目标应用程序的下载链接启动下载。
客户端根据操作系统类型的不同,生成与操作系统类型匹配的下载链接,继续假设目标应用程序为聊天软件,客户端获取到的操作系统的系统类型为A,则客户端生成的与该系统类型为A的操作系统匹配的该目标应用程序聊天软件的下载链接可以为:http://www.baidu.com/chat。进而客户端可以根据该下载链接http://www.baidu.com/chat启动对该聊天软件的下载。
需要说明的是,在实际应用中,大部分电子设备的操作系统可以为Android或ios,那么,接下来,分别以电子设备的操作系统为Android和ios,继续以目标应用程序为聊天软件来进行一个简单的说明。
当电子设备的操作系统为Android时,客户端生成的与该操作系统Android匹配的该聊天软件的URI可以为:y://id=Android_chat,那么操作系统就可以根据该URI的协议头y://对应的协议,即y协议和该URI携带的启动参数id=Android_chat启动聊天软件。客户端生成的与该操作系统Android匹配的该聊天软件的下载链接可以为:http://www.baidu.com/Android_chat,进而,客户端根据该下载链接启动聊天软件的下载。
当电子设备的操作系统为ios时,客户端生成的与该操作系统ios匹配的该聊天软件的URI可以为:y://id=ios_chat,那么操作系统就可以根据该URI的协议头y://对应的协议,即y协议和该URI携带的启动参数id=ios_chat启动聊天软件。客户端生成的与该操作系统ios匹配的该聊天软件的下载链接可以为:http://itunes.apple.com/ios_chat,进而,客户端根据该下载链接启动聊天软件的下载。
需要补充说明的是,上述仅以操作系统为Android和ios系统为例进行说明,并不是以此来限制本发明,在实际应用中,本发明提供的状态检测方法还适用于其他类型的操作系统,本实施例在此不再详细赘述。
综上所述,本发明实施例提供的安装状态检测方法,通过向操作系统发送用于启动目标应用程序的启动指令,检测客户端是否因为目标应用程序的启动被挂起,如果客户端被挂起,则目标应用程序的安装状态为已安装;解决了客户端无法获取目标应用程序在电子设备上的安装状态,如果电子设备上已经安装目标应用程序,用户重新下载并安装一次该目标应用程序,造成浪费流量的问题,避免了用户做无意义的操作。
本发明实施例提供的安装状态检测方法,通过在发送启动指令的同时在客户端中启动延时器倒计时时长T,并在倒计时结束时,检测当前时刻和发送启动指令的时刻之间的时间差与预定时长T之间的差值是否超过预设门限,根据该时间差与预定时长T之间的差值是否超过预设门限,来检测客户端是否被挂起至后台运行;可以使客户端通过延时器间接地检测出目标应用程序是否被安装。
本发明实施例提供的安装状态检测方法,通过根据不同类型的操作系统,生成用于启动目标应用程序的URI,进而根据该URI启动目标应用程序;以及在检测到目标用于程序未安装时,根据不同类型的操作系统,生成用于下载目标应用程序的下载链接,进而根据下载链接启动下载目标应用程序;提高了本发明的普适性。
请参考图5,其示出了本发明一个实施例提供的安装状态检测装置的装置结构示意图。该安装状态检测装置可以通过软件、硬件或者两者的结合实现成为客户端的部分或者全部。参见图5,该装置具体包括:发送模块501、检测模块502和确定模块503。
发送模块501,用于向操作系统发送用于启动目标应用程序的启动指令;
检测模块502,用于检测客户端是否因为发送模块501发送的启动指令启动该目标应用程序而被挂起至后台运行;
确定模块503,用于如果检测模块502检测到该客户端被挂起至后台运行,则确定该目标应用程序的安装状态为已安装。
综上所述,本发明实施例提供的安装状态检测装置,通过向操作系统发送用于启动目标应用程序的启动指令,检测客户端是否因为目标应用程序的启动被挂起,如果客户端被挂起,则目标应用程序的安装状态为已安装;解决了客户端无法获取目标应用程序在电子设备上的安装状态,如果电子设备上已经安装目标应用程序,用户重新下载并安装一次该目标应用程序,造成浪费流量的问题,避免了用户做无意义的操作。
请参考图6,其示出了本发明另一实施例提供的安装状态检测装置的装置结构示意图。该安装状态检测装置可以通过软件、硬件或者两者的结合实现成为客户端的部分或者全部。参见图6,该装置具体包括:发送模块601、检测模块602和确定模块603。
发送模块601,用于向操作系统发送用于启动目标应用程序的启动指令;
检测模块602,用于检测客户端是否因为发送模块601发送的启动指令启动该目标应用程序而被挂起至后台运行;
确定模块603,用于如果检测模块602检测到该客户端被挂起至后台运行,则确定该目标应用程序的安装状态为已安装。
该检测模块,包括:
延时器启动单元621,用于在发送该启动指令的同时,在该客户端中启动一个延时器倒计时预定时长T;
检测单元622,用于在倒计时该预定时长T结束时,检测当前时刻和发送该启动指令的时刻之间的时间差与该预定时长T之间的差值是否超过预设门限;如果该时间差与该预定时长T之间的差值超过该预设门限,则该客户端被挂起至后台运行。
综上所述,本发明实施例提供的安装状态检测装置,通过向操作系统发送用于启动目标应用程序的启动指令,检测客户端是否因为目标应用程序的启动被挂起,如果客户端被挂起,则目标应用程序的安装状态为已安装;解决了客户端无法获取目标应用程序在电子设备上的安装状态,如果电子设备上已经安装目标应用程序,用户重新下载并安装一次该目标应用程序,造成浪费流量的问题,避免了用户做无意义的操作。
本发明实施例提供的安装状态检测装置,通过在发送启动指令的同时在客户端中启动延时器倒计时时长T,并在倒计时结束时,检测当前时刻和发送启动指令的时刻之间的时间差与预定时长T之间的差值是否超过预设门限,根据该时间差与预定时长T之间的差值是否超过预设门限,来检测客户端是否被挂起至后台运行;可以使客户端通过延时器间接地检测出目标应用程序是否被安装。
请参考图7,其示出了本发明再一实施例提供的安装状态检测装置的装置结构示意图。该安装状态检测装置可以通过软件、硬件或者两者的结合实现成为客户端的部分或者全部。参见图7,该装置具体包括:发送模块701、检测模块702和确定模块703。
发送模块701,用于向操作系统发送用于启动目标应用程序的启动指令;
检测模块702,用于检测客户端是否因为发送模块701发送的启动指令启动该目标应用程序而被挂起至后台运行;
确定模块703,用于如果检测模块702检测到该客户端被挂起至后台运行,则确定该目标应用程序的安装状态为已安装。
该检测模块702,包括:
延时器启动单元721,用于在发送模块701发送该启动指令的同时,在该客户端中启动一个延时器倒计时预定时长T;
检测单元722,用于在延时器启动单元721倒计时该预定时长T结束时,检测当前时刻和发送该启动指令的时刻之间的时间差与该预定时长T之间的差值是否超过预设门限;如果该时间差与该预定时长T之间的差值超过该预设门限,则该客户端被挂起至后台运行。
该发送模块701用于,向该操作系统发送一个用于启动该目标应用程序的统一资源标识符URI,该URI携带有协议头和启动参数;以便该操作系统解析该URI后,根据该协议头对应的协议和该启动参数启动该目标应用程序。
该发送模块701,还包括:
获取单元711,用于获取该操作系统的系统类型;
生成单元712,用于生成与获取单元711获取到的该系统类型匹配的该用于启动该目标应用程序的URI。
该装置,还包括:
显示模块704,用于显示一网页页面,该网页页面中包括该目标应用程序的下载按钮;
点击模块705,用于在显示模块704显示的网页页面中的该下载按钮被点击后,触发该发送模块701向操作系统发送用于启动目标应用程序的启动指令。
该确定模块703,用于如果检测单元722检测到的该时间差与该预定时长T之间的差值未超过该预设门限,则该客户端未被挂起至后台运行,确定该目标应用程序的安装状态为未安装;
启动下载模块706,用于如果确定模块703确定目标应用程序的安装状态为未安装,根据该目标应用程序的下载链接启动下载。
该装置,还包括:
获取模块707,用于获取该操作系统的系统类型;
生成模块708,用于生成与根据获取模块707获取到的该系统类型匹配的该目标应用程序的下载链接。
综上所述,本发明实施例提供的安装状态检测装置,通过向操作系统发送用于启动目标应用程序的启动指令,检测客户端是否因为目标应用程序的启动被挂起,如果客户端被挂起,则目标应用程序的安装状态为已安装;解决了客户端无法获取目标应用程序在电子设备上的安装状态,如果电子设备上已经安装目标应用程序,用户重新下载并安装一次该目标应用程序,造成浪费流量的问题,避免了用户做无意义的操作。
本发明实施例提供的安装状态检测装置,通过在发送启动指令的同时在客户端中启动延时器倒计时时长T,并在倒计时结束时,检测当前时刻和发送启动指令的时刻之间的时间差与预定时长T之间的差值是否超过预设门限,根据该时间差与预定时长T之间的差值是否超过预设门限,来检测客户端是否被挂起至后台运行;可以使客户端通过延时器间接地检测出目标应用程序是否被安装。
本发明实施例提供的安装状态检测装置,通过根据不同类型的操作系统,生成用于启动目标应用程序的URI,进而根据该URI启动目标应用程序;以及在检测到目标用于程序未安装时,根据不同类型的操作系统,生成用于下载目标应用程序的下载链接,进而根据该下载链接启动下载目标应用程序;提高了本发明的普适性。
需要说明的是:上述实施例提供的安装状态检测装置在检测安装状态时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的安装状态检测装置与安装状态检测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图8,其示出了本发明的一个实施例提供的终端的结构示意图。该终端800安装有浏览器应用、具有浏览网页功能的即时通信类应用、具有浏览网页功能的社交类应用、应用程序管理应用、具有浏览网页功能的综合性管理应用之类的客户端,所述客户端用于实施上述实施例中提供的安装状态检测方法,具体来讲:
终端800可以包括RF(RadioFrequency,射频)电路810、包括有一个或一个以上计算机可读存储介质的存储器820、输入单元830、显示单元840、传感器850、音频电路860、短距离无线传输模块870、包括有一个或者一个以上处理核心的处理器880、以及电源890等部件。本领域技术人员可以理解,图8中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器880处理;另外,将涉及上行的数据发送给基站。通常,RF电路810包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(LowNoiseAmplifier,低噪声放大器)、双工器等。此外,RF电路810还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于GSM(GlobalSystemofMobilecommunication,全球移动通讯系统)、GPRS(GeneralPacketRadioService,通用分组无线服务)、CDMA(CodeDivisionMultipleAccess,码分多址)、WCDMA(WidebandCodeDivisionMultipleAccess,宽带码分多址)、LTE(LongTermEvolution,长期演进)、电子邮件、SMS(ShortMessagingService,短消息服务)等。存储器820可用于存储软件程序以及模块,比如,存储器820可以用于存储预设时间列表,还可以用于存储采集语音信号的软件程序、实现关键词识别的软件程序、实现连续语音识别的软件程序以及实现设置提醒事项的软件程序,还可以用于存储无线接入点与用户账号的绑定关系等等。处理器880通过运行存储在存储器820的软件程序以及模块,从而执行各种功能应用以及数据处理,存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端800的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器820还可以包括存储器控制器,以提供处理器880和输入单元830对存储器820的访问。
输入单元830可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元830可包括触敏表面831以及其他输入设备832。触敏表面831,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面831上或在触敏表面831附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面831。除了触敏表面831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元840可用于显示由用户输入的信息或提供给用户的信息以及终端800的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元840可包括显示面板841,可选的,可以采用LCD(LiquidCrystalDisplay,液晶显示器)、OLED(OrganicLight-EmittingDiode,有机发光二极管)等形式来配置显示面板841。进一步的,触敏表面831可覆盖在显示面板841之上,当触敏表面831检测到在其上或附近的触摸操作后,传送给处理器880以确定触摸事件的类型,随后处理器880根据触摸事件的类型在显示面板841上提供相应的视觉输出。虽然在图8中,触敏表面831与显示面板841是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面831与显示面板841集成而实现输入和输出功能。
终端800还可包括至少一种传感器850,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在终端800移动到耳边时,关闭显示面板841和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端800还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路860、扬声器861,传声器862可提供用户与终端800之间的音频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器860处理后,经RF电路810以发送给另一终端,或者将音频数据输出至存储器820以便进一步处理。音频电路860还可能包括耳塞插孔,以提供外设耳机与终端800的通信。
短距离无线传输模块870可以是WIFI(WirelessFidelity,无线保真)模块或者蓝牙模块等。终端800通过短距离无线传输模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了短距离无线传输模块870,但是可以理解的是,其并不属于终端800的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器880是终端800的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行终端800的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器880可包括一个或多个处理核心;可选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。
终端800还包括给各个部件供电的电源890(比如电池),优选的,电源可以通过电源管理系统与处理器880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源890还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端800还可以包括摄像头、蓝牙模块等,在此不再赘述。
终端800还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行上述各个方法实施例所述的安装状态检测方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种安装状态检测方法,其特征在于,用于客户端中,所述方法包括:
向操作系统发送用于启动目标应用程序的启动指令;
检测所述客户端是否因为所述目标应用程序的启动而被挂起至后台运行;
如果所述客户端被挂起至后台运行,则确定所述目标应用程序的安装状态为已安装。
2.根据权利要求1所述的方法,其特征在于,所述检测所述客户端是否因为所述目标应用程序的启动而被挂起至后台运行,包括:
在发送所述启动指令的同时,在所述客户端中启动一个延时器倒计时预定时长T;
在倒计时所述预定时长T结束时,检测当前时刻和发送所述启动指令的时刻之间的时间差与所述预定时长T之间的差值是否超过预设门限;
如果所述时间差与所述预定时长T之间的差值超过所述预设门限,则所述客户端被挂起至后台运行。
3.根据权利要求1或2所述的方法,其特征在于,所述向操作系统发送用于启动目标应用程序的启动指令,包括:
向所述操作系统发送一个用于启动所述目标应用程序的统一资源标识符URI,所述URI携带有协议头和启动参数;以便所述操作系统解析所述URI后,根据所述协议头对应的协议和所述启动参数启动所述目标应用程序。
4.根据权利要求3所述的方法,其特征在于,所述向所述操作系统发送一个用于启动所述目标应用程序的统一资源标识符URI,还包括:
获取所述操作系统的系统类型;
生成与所述系统类型匹配的所述用于启动所述目标应用程序的URI。
5.根据权利要求1或2所述的方法,其特征在于,所述向操作系统发送用于启动目标应用程序的启动指令之前,还包括:
显示一网页页面,所述网页页面中包括所述目标应用程序的下载按钮;
在所述下载按钮被点击后,执行所述向操作系统发送用于启动目标应用程序的启动指令的步骤。
6.根据权利要求2所述的方法,其特征在于,所述检测当前时刻和发送所述启动指令的时刻之间的时间差与所述预定时长T之间的差值是否超过预设门限之后,还包括:
如果所述时间差与所述预定时长T之间的差值未超过所述预设门限,则所述客户端未被挂起至后台运行,确定所述目标应用程序的安装状态为未安装,并根据所述目标应用程序的下载链接启动下载。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标应用程序的下载链接启动下载之前,还包括:
获取所述操作系统的系统类型;
生成与所述系统类型匹配的所述目标应用程序的下载链接。
8.一种安装状态检测装置,其特征在于,用于客户端中,所述装置包括:
发送模块,用于向操作系统发送用于启动目标应用程序的启动指令;
检测模块,用于检测所述客户端是否因为所述目标应用程序的启动而被挂起至后台运行;
确定模块,用于如果所述客户端被挂起至后台运行,则确定所述目标应用程序的安装状态为已安装。
9.根据权利要求8所述的装置,其特征在于,所述检测模块,包括:
延时器启动单元,用于在发送所述启动指令的同时,在所述客户端中启动一个延时器倒计时预定时长T;
检测单元,用于在倒计时所述预定时长T结束时,检测当前时刻和发送所述启动指令的时刻之间的时间差与所述预定时长T之间的差值是否超过预设门限;如果所述时间差与所述预定时长T之间的差值超过所述预设门限,则所述客户端被挂起至后台运行。
10.根据权利要求8或9所述的装置,其特征在于,
所述发送模块用于,向所述操作系统发送一个用于启动所述目标应用程序的统一资源标识符URI,所述URI携带有协议头和启动参数;以便所述操作系统解析所述URI后,根据所述协议头对应的协议和所述启动参数启动所述目标应用程序。
11.根据权利要求10所述的装置,其特征在于,所述发送模块,还包括:
获取单元,用于获取所述操作系统的系统类型;
生成单元,用于生成与所述系统类型匹配的所述用于启动所述目标应用程序的URI。
12.根据权利要求8或9所述的装置,其特征在于,所述装置,还包括:
显示模块,用于显示一网页页面,所述网页页面中包括所述目标应用程序的下载按钮;
点击模块,用于在所述下载按钮被点击后,触发所述发送模块向操作系统发送用于启动目标应用程序的启动指令。
13.根据权利要求9所述的装置,其特征在于,
所述确定模块用于,如果所述时间差与所述预定时长T之间的差值未超过所述预设门限,则所述客户端未被挂起至后台运行,确定所述目标应用程序的安装状态为未安装;
启动下载模块,用于如果所述确定模块确定所述目标应用程序的安装状态为未安装,根据所述目标应用程序的下载链接启动下载。
14.根据权利要求13所述的装置,其特征在于,所述装置,还包括:
获取模块,用于获取所述操作系统的系统类型;
生成模块,用于生成与所述系统类型匹配的所述目标应用程序的下载链接。
15.一种终端,其特征在于,所述终端包括:
一个或者一个以上的处理器;
存储器;
以及一个或者一个以上的程序,其中所述一个或者一个以上程序存储于所述存储器中,且经配置以由所述一个或者一个以上处理器执行,所述一个或者一个以上程序包含用于进行以下操作的指令:
向操作系统发送用于启动目标应用程序的启动指令;
检测客户端是否因为所述目标应用程序的启动而被挂起至后台运行;
如果所述客户端被挂起至后台运行,则确定所述目标应用程序的安装状态为已安装。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410329120.6A CN104133693B (zh) | 2014-07-10 | 2014-07-10 | 安装状态检测方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410329120.6A CN104133693B (zh) | 2014-07-10 | 2014-07-10 | 安装状态检测方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104133693A CN104133693A (zh) | 2014-11-05 |
CN104133693B true CN104133693B (zh) | 2016-03-30 |
Family
ID=51806379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410329120.6A Active CN104133693B (zh) | 2014-07-10 | 2014-07-10 | 安装状态检测方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104133693B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107800611B (zh) * | 2016-09-07 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 一种页面切换的方法及页面切换装置 |
EP3508997B1 (en) * | 2016-09-24 | 2023-04-19 | Huawei Technologies Co., Ltd. | Offline management method for application use time, and terminal device |
CN110333874B (zh) * | 2019-06-10 | 2022-09-23 | 腾讯科技(成都)有限公司 | 一种iOS系统安装包数据采集方法、装置、设备及介质 |
CN114185627A (zh) * | 2021-10-22 | 2022-03-15 | 北京健康之家科技有限公司 | 程序启动反馈方法、装置、终端设备、服务器及存储介质 |
CN114979735A (zh) * | 2022-05-23 | 2022-08-30 | 海信视像科技股份有限公司 | 一种显示设备及应用启动方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779069A (zh) * | 2011-05-10 | 2012-11-14 | 北京磊友信息科技有限公司 | 管理移动终端上运行的脚本程序的方法及设备 |
CN103246532A (zh) * | 2013-04-08 | 2013-08-14 | 东莞宇龙通信科技有限公司 | 一种终端设备应用程序安装方法及装置 |
CN103473092A (zh) * | 2013-09-02 | 2013-12-25 | 小米科技有限责任公司 | 一种下载应用的处理方法、装置及终端设备 |
-
2014
- 2014-07-10 CN CN201410329120.6A patent/CN104133693B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779069A (zh) * | 2011-05-10 | 2012-11-14 | 北京磊友信息科技有限公司 | 管理移动终端上运行的脚本程序的方法及设备 |
CN103246532A (zh) * | 2013-04-08 | 2013-08-14 | 东莞宇龙通信科技有限公司 | 一种终端设备应用程序安装方法及装置 |
CN103473092A (zh) * | 2013-09-02 | 2013-12-25 | 小米科技有限责任公司 | 一种下载应用的处理方法、装置及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104133693A (zh) | 2014-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104780164A (zh) | 一种运行游戏客户端的方法和装置 | |
CN105824958A (zh) | 一种查询日志的方法、装置和系统 | |
CN104407804A (zh) | 截屏方法、装置及电子设备 | |
CN104765591A (zh) | 一种软件配置参数更新的方法、终端服务器及系统 | |
CN104978176A (zh) | 应用程序接口调用方法及装置 | |
CN103294515A (zh) | 一种获取应用程序的方法、装置和系统 | |
CN104135728B (zh) | 网络连接方法及装置 | |
CN104065693A (zh) | 一种网页应用中网络数据的访问方法、装置和系统 | |
CN104965716A (zh) | 图标更新方法、客户端装置、及终端设备 | |
CN104133693B (zh) | 安装状态检测方法、装置及终端 | |
CN104717341A (zh) | 一种消息提示方法及终端 | |
CN104850406A (zh) | 一种切换页面的方法和装置 | |
CN103473092A (zh) | 一种下载应用的处理方法、装置及终端设备 | |
CN104572690A (zh) | 一种获取网页数据的方法、装置和系统 | |
CN104133757A (zh) | 一种获取内存信息的方法及终端 | |
CN105530239A (zh) | 多媒体数据获取方法及装置 | |
CN105389259A (zh) | 一种进行应用程序测试的方法、装置及系统 | |
CN103631625A (zh) | 一种数据获取的方法、用户端、服务器及系统 | |
CN103177217A (zh) | 一种文件扫描方法、系统及客户端和服务器 | |
CN104699501A (zh) | 一种运行应用程序的方法及装置 | |
CN103944922B (zh) | 一种数据处理的方法、终端、服务器及系统 | |
CN103607431A (zh) | 移动终端资源处理方法、装置和设备 | |
CN103200077B (zh) | 一种语音通话时数据交互的方法、装置及系统 | |
CN104391629A (zh) | 定向发送消息的方法、显示消息的方法、服务器及终端 | |
CN104142994A (zh) | 一种数据列表获取的方法、终端及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |