CN106227585A - 一种应用程序启动方法、装置及设备 - Google Patents
一种应用程序启动方法、装置及设备 Download PDFInfo
- Publication number
- CN106227585A CN106227585A CN201610374205.5A CN201610374205A CN106227585A CN 106227585 A CN106227585 A CN 106227585A CN 201610374205 A CN201610374205 A CN 201610374205A CN 106227585 A CN106227585 A CN 106227585A
- Authority
- CN
- China
- Prior art keywords
- application program
- bag name
- data base
- attribute
- coupling
- 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.)
- Granted
Links
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种应用程序启动方法、装置及设备。其中,该方法包括:检测第一应用程序对第二应用程序的调用;获取所述第二应用程序的包名;根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库;根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序。通过本发明实施例,可以提高应用程序启动控制的精准性。
Description
技术领域
本发明涉及电子技术领域,具体涉及一种应用程序启动方法、装置及设备。
背景技术
随着互联网技术的不断发展,人们开发了各种功能丰富的应用程序,例如,即时通讯工具、音频播放器、视频播放器、日历工具、在线购物工具等等,给人们的生活带来许多便利。当一个应用程序已经在运行状态时,可以拉动其他应用程序启动,在前台或者在后台活跃,进而执行某种预置功能。而无意义的自启动应用十分费电,即当应用程序A启动应用程序B,而应用程序B并不帮助完成应用程序A的某项功能时,应用程序B的启动是没有意义的,并且对用户带来干扰以及消耗设备电量、内存。
现有的方式,是通过匹配包名来决定是否自启动应用的,当应用程序A启动应用程序B时,只有当应用程序B的包名处在应用程序A的白名单时才允许启动应用程序B,当应用程序B的包名不在应用程序A的白名单时禁止启动应用程序B。现有的包名匹配方式通常会有很多误判操作,例如,应用程序A是淘宝,应用程序B是支付宝,当用户通过淘宝购物付款时往往需要启动支付宝完成支付操作,但是当用户通过淘宝浏览商品信息时往往不需要启动支付宝在后台运行,避免占用系统内存,消耗设备电量。如果将支付宝的包名添加到淘宝对应的白名单中,则用户通过淘宝浏览商品信息时,如果后台自动启动支付宝,则会消耗系统内存和电量,给用户带来不便;如果不将支付宝的包名添加到淘宝对应的白名单中,则当用户通过淘宝购物付款时调用不到支付宝应用,影响用户的使用,因此,现有技术中的包名匹配方式存在漏洞。
发明内容
本发明实施例提供了一种应用程序启动方法、装置及设备,可以提高应用程序启动控制的精准性。
本发明实施例第一方面提供了一种应用程序启动方法,包括:
检测第一应用程序对第二应用程序的调用;
获取所述第二应用程序的包名;
根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库;
根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序。
结合本发明实施例的第一方面的实施方式,在第一方面的第一种可能的实施方式中,所述获取所述第二应用程序的包名之后,还包括:
判断当前电量是否低于预设电量阈值或者判断当前系统内存是否低于预设内存阈值,若是,执行所述根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库的步骤。
结合本发明实施例的第一方面的实施方式,在第一方面的第二种可能的实施方式中,所述调用属性为界面组件调用;所述根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库,包括:
根据所述界面组件调用属性,确定所述第二应用程序的包名需要匹配的数据库为黑名单;
所述根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序,包括:
若所述第二应用程序的包名不在所述黑名单中,则启动所述第二应用程序。
结合本发明实施例的第一方面的实施方式,在第一方面的第三种可能的实施方式中,所述调用属性为服务调用;所述根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库,包括:
根据所述服务调用属性,确定所述第二应用程序的包名需要匹配的数据库为白名单;
所述根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序,包括:
若所述第二应用程序的包名在所述白名单中,则启动所述第二应用程序。
结合本发明实施例的第一方面的实施方式,在第一方面的第四种可能的实施方式中,所述调用属性为界面组件调用;所述根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库,包括:
将所述第二应用程序的包名发送至云端服务器;所述第二应用程序的包名用于所述云端服务器确定出所述调用属性为界面组件调用属性,并根据所述界面组件调用属性,确定所述第二应用程序的包名需要匹配的数据库为黑名单;
所述根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序,包括:
根据所述云端服务器发送的所述第二应用程序的包名不在所述黑名单中的匹配结果,启动所述第二应用程序。
结合本发明实施例的第一方面的实施方式,在第一方面的第五种可能的实施方式中,所述调用属性为服务调用;所述根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库,包括:
将所述第二应用程序的包名发送至云端服务器;所述第二应用程序的包名用于所述云端服务器确定出所述调用属性为服务调用属性,并根据所述服务调用属性,确定所述第二应用程序的包名需要匹配的数据库为白名单;
所述根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序,包括:
根据所述云端服务器发送的所述第二应用程序的包名在所述白名单中的匹配结果,启动所述第二应用程序。
第二方面,本发明实施例提供了一种应用程序启动装置,包括:
检测单元,用于检测第一应用程序对第二应用程序的调用;
获取单元,用于获取所述第二应用程序的包名;
确定单元,用于根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库;
启动单元,用于根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序。
结合本发明实施例的第二方面的实施方式,在第二方面的第一种可能的实施方式中,还包括:
判断单元,用于在所述获取单元获取所述第二应用程序的包名之后,判断当前电量是否低于预设电量阈值或者判断当前系统内存是否低于预设内存阈值,若是,触发所述确定单元执行所述根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库的操作。
结合本发明实施例的第二方面的实施方式,在第二方面的第二种可能的实施方式中,所述调用属性为界面组件调用;所述确定单元具体用于:
根据所述界面组件调用属性,确定所述第二应用程序的包名需要匹配的数据库为黑名单;
所述启动单元具体用于:
若所述第二应用程序的包名不在所述黑名单中,则启动所述第二应用程序。
结合本发明实施例的第二方面,在第二方面的第三种可能的实施方式中,所述调用属性为服务调用;所述确定单元具体用于:
根据所述服务调用属性,确定所述第二应用程序的包名需要匹配的数据库为白名单;
所述启动单元具体用于:
若所述第二应用程序的包名在所述白名单中,则启动所述第二应用程序。
结合本发明实施例的第二方面的实施方式,在第二方面的第四种可能的实施方式中,所述调用属性为界面组件调用;所述确定单元具体用于:
将所述第二应用程序的包名发送至云端服务器;所述第二应用程序的包名用于所述云端服务器确定出所述调用属性为界面组件调用属性,并根据所述界面组件调用属性,确定所述第二应用程序的包名需要匹配的数据库为黑名单;
所述启动单元具体用于:
根据所述云端服务器发送的所述第二应用程序的包名不在所述黑名单中的匹配结果,启动所述第二应用程序。
结合本发明实施例的第二方面的实施方式,在第二方面的第五种可能的实施方式中,所述调用属性为服务调用;所述确定单元具体用于:
将所述第二应用程序的包名发送至云端服务器;所述第二应用程序的包名用于所述云端服务器确定出所述调用属性为服务调用属性,并根据所述服务调用属性,确定所述第二应用程序的包名需要匹配的数据库为白名单;
所述启动单元具体用于:
根据所述云端服务器发送的所述第二应用程序的包名在所述白名单中的匹配结果,启动所述第二应用程序。
本发明实施例第三面提供了一种应用程序启动设备,包括:处理器、存储器、通信接口和总线;
所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述存储器存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行一种应用程序启动方法;其中,所述方法包括:
检测第一应用程序对第二应用程序的调用;
获取所述第二应用程序的包名;
根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库;
根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序。
本发明实施例第四方面提供一种存储介质,其中,该存储介质用于存储应用程序,所述应用程序用于在运行时执行本发明实施例的所述的一种应用程序启动方法。
本发明实施例第五方面提供一种应用程序,其中,该应用程序用于在运行时执行本发明实施例所述的一种应用程序启动方法。
实施本发明实施例,具有如下有益效果:
当检测到第一应用程序调用第二应用程序时,获取所述第二应用的包名,根据所述第一应用程序对所述第二应用程序的调用属性,来确定所述第二应用程序的包名需要匹配的数据库,进而根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序,根据调用属性来确定匹配的数据库可以提高应用程序启动控制的精准性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种应用程序启动方法的流程示意图;
图2是本发明实施例提供的一种应用程序启动装置的结构示意图;
图3是本发明实施例提供的一种应用程序启动设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下各发明实施例所描述的设备包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备(MobileInternet Devices,MID)或穿戴式设备等。
请参见图1,图1是本发明实施例提供的一种应用程序启动方法的流程示意图。如图1所示,该应用程序启动方法可以包括但不限于以下步骤。
S101、检测第一应用程序对第二应用程序的调用。
本发明实施例中,可以通过hook系统的API,来检测当前的第一应用程序对其他应用程序的调用。对于运行中的应用程序来讲,调用的其他应用程序可能是活动(英文:activity),也可能是服务(英文:service)。其中所述第一应用程序和所述第二应用程序为不同的应用程序,例如所述第一应用程序为淘宝应用,所述第二应用程序为支付宝应用、照相机应用、录音应用、语音输入应用等。
S102、获取所述第二应用程序的包名。
根据所述第二应用程序的包名可确定出所述第一应用程序调用的是所述第二应用程序的activity,还是调用的是所述第二应用程序的service。例如,若第二应用程序的包名为android.startActivity,则确定出第一应用程序调用的是第二应用程序的activity,因此确定出第一应用程序对第二应用程序的调用属性为界面组件调用。若第二应用程序的包名为android.startService,则确定出第一应用程序调用的是第二应用程序的service,因此确定出第一应用程序对第二应用程序的调用属性为服务调用。
S103、根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库。
其中,所述数据库包括黑名单和白名单。
一种实现方式是:若所述第一应用程序对所述第二应用程序的调用属性为界面组件调用,则确定所述第二应用程序的包名需要匹配的数据库为黑名单,所述黑名单中记录有禁止所述第一应用程序启动的其他应用程序的activity的集合;若所述第一应用程序对所述第二应用程序的调用属性为服务调用,则确定所述第二应用程序的包名需要匹配的数据库为白名单,所述白名单中记录有允许所述第一应用程序启动的其他应用程序的service的集合。另一种实现方式是:若所述第一应用程序对所述第二应用程序的调用属性为界面组件调用,则确定所述第二应用程序的包名需要匹配的数据库为白名单,所述白名单中记录有允许所述第一应用程序启动的其他应用程序的activity的集合;若所述第一应用程序对所述第二应用程序的调用属性为服务调用,则确定所述第二应用程序的包名需要匹配的数据库为黑名单,所述黑名单中记录有禁止所述第一应用程序启动的其他应用程序的service的集合。本发明实施例以第一种实现方式为例进行说明。
需要说明的是,通常情况下,一个应用程序对应的activity较多,如果第一应用程序启动第二应用程序的activity是正常调用,一般情况下为用户可以看到界面的应用程序,如果调用对象用户可以看到,则一般调用第二应用程序为辅助实现第一应用程序的某项功能,对于这种调用可以直接给予放行,不对其进行黑名单记录。特殊情况下,如果第二应用程序是恶意应用程序,其可以设置自身为透明层的悬浮窗或者对话框,且将悬浮窗或对话框放置在屏幕的偏僻角落,默默执行非法功能,此时用户并不能直接看到,为了防止这类activity的恶意运行,可以在第一应用程序对应的黑名单中记录这一类恶意应用程序对应的activity,来阻止其运行。
需要说明的是,通常情况下,如果第一应用程序启动第二应用程序的service是正常调用,一般会让用户感知到,即在第一应用程序的界面上出现该service相应的activity;如果第一应用程序启动第二应用程序的service是在后台运行的服务进程,一般是非规范调用,即第二应用程序的service并不会协助第一应用程序完成某些功能,因此,只需要在第一应用程序对应的白名单中记录允许启动的第二应用程序的service,这些service通常不会过多,因此在白名单中进行记录的内容不会过多,在白名单中匹配当前调用的service时也可以提高匹配效率,从而提高应用程序的执行效率。
S104、根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序。
具体的,如果所述数据库为黑名单,则若所述第二应用程序的包名不处于所述黑名单中,则启动所述第二应用程序,若所述第二应用程序的包名处于所述黑名单中,则禁止启动所述第二应用程序;如果所述数据库为白名单,则若所述第二应用程序的包名处于所述白名单中,则启动所述第二应用程序,若所述第二应用程序的包名不处于所述白名单中,则禁止启动所述第二应用程序。
作为一种可选的实施方式,若所述第一应用程序对所述第二应用程序的调用属性为界面组件调用,则确定所述第二应用程序的包名需要匹配的数据库为黑名单,若所述第二应用程序的包名不处于所述黑名单中,则启动所述第二应用程序的活动。若所述第一应用程序对所述第二应用程序的调用属性为服务调用,则确定所述第二应用程序的包名需要匹配的数据库为白名单,若所述第二应用程序的包名处于所述白名单中,则启动所述第二应用程序的服务。
例如,第一应用程序是淘宝,第二应用程序是支付宝,当用户运行淘宝时,会启动支付宝后台服务notificationservice,而这个service是完全没有必要的,所以需要进行拦截,不将notificationservice服务记录到淘宝的白名单中。而当用户运行淘宝进行支付流程时,会启动支付宝的ippservice服务,这个service是负责执行支付流程的,为了不影响正常顺畅的支付流程,所以就放行该service的运行,将ippservice服务记录到淘宝的白名单中。因此,如果检测到淘宝启动支付宝,且获取到调用的支付宝的包名中包含notificationservice时,匹配淘宝的白名单,未在白名单中找到notificationservice服务的名称,因此不执行该服务;如果检测到淘宝启动支付宝,且获取到调用的支付宝的包名包含ippservice时,匹配淘宝的白名单,在白名单中找到了ippservice服务的名称,因此执行该服务。
作为一种可选的实施方式,在获取所述第二应用程序的包名之后,判断当前电量是否低于预设电量阈值或者判断当前系统内存是否低于预设内存阈值,若是,才会执行根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库的步骤。
具体的,在设备判断出当前的电量过低,或者当前内存不足时,为了节省设备电量、内存空间,设备执行根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库的步骤,并在判断出第二应用程序的包名与所述数据库不匹配时,拒绝启动所述第二应用程序,以此来节省设备的电量、内存。其中,所述预设电量阈值和所述预设内存阈值可以由设备的系统默认设定,也可以由用户手动设置,本发明实施例不作具体限定。
其中,一种实现方式为:用户设备来判断所述第二应用程序的包名是否与黑名单或白名单匹配,所述黑名单和白名单可以是后台服务器设定并下发给终端的,也可以是由终端用户自主设定的,本发明实施例不作具体限定,其中,云端服务器可以通过自动执行大量应用程序,获取应用程序之间调用的log,然后对log进行分析,确定出各个应用程序对应的白名单。
另一种实现方式为:所述数据库存储在云端服务器上,用户设备将所述第二应用程序的包名,所述云端服务器根据所述第二应用程序的包名判断调用属性为界面组件调用属性还是服务调用属性,从而根据调用属性确定出所述第二应用程序的包名需要匹配的数据库,进而将所述第二应用程序的包名与所述数据库进行匹配,并将匹配结果发送给用户设备,用户设备根据云端服务器返回的匹配结果来确定是否要启动所述第二应用程序。
可选的,所述用户设备还可以将所述第一应用程序的标识发送给云端服务器,云端服务器根据第一应用程序的标识查找所述第一应用程序对应的数据库,进而将所述第二应用程序的包名与所述第一应用程序对应的数据库进行匹配。
例如,所述数据库为黑名单或白名单,用户设备将所述第二应用程序的包名和第一应用程序的标识发送给云端服务器,云端服务器根据第二应用程序的包名判断调用属性为界面组件调用属性还是服务调用属性,若判断出为界面组件调用属性,则确定出所述第二应用程序的包名需要匹配的数据库为黑名单,进而查找所述第一应用程序对应的黑名单,进而将所述第二应用程序的包名与所述第一应用程序对应的黑名单进行匹配,若所述第二应用程序的包名不在第一应用程序对应的黑名单中,则判断出所述第二应用程序的包名与所述第一应用程序对应的黑名单不匹配,云端服务器向用户设备返回匹配结果,匹配结果指示所述第二应用程序的包名与所述第一应用程序对应的黑名单不匹配,用户设备接收到该匹配结果后,启动所述第二应用程序。或者,若云端服务器判断出为服务调用属性,则确定出所述第二应用程序的包名需要匹配的数据库为白名单,进而查找所述第一应用程序对应的白名单,进而将所述第二应用程序的包名与所述第一应用程序对应的白名单进行匹配,若所述第二应用程序的包名在第一应用程序对应的白名单中,则判断出所述第二应用程序的包名与所述第一应用程序对应的白名单匹配,云端服务器向用户设备返回匹配结果,匹配结果指示所述第二应用程序的包名与所述第一应用程序对应的白名单匹配,用户设备接收到该匹配结果后,启动所述第二应用程序。
可见,在图1所描述的方法中,当检测到第一应用程序调用第二应用程序时,获取所述第二应用的包名,根据所述第一应用程序对所述第二应用程序的调用属性,来确定所述第二应用程序的包名需要匹配的数据库,进而根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序,根据调用属性来确定匹配的数据库可以提高应用程序启动控制的精准性。
上述详细阐述了本发明实施例的方法,下面为了便于更好地实施本发明实施例的上述方案,相应地,下面还提供用于配合实施上述方案的相关装置。
请参见图2,图2是本发明实施例提供的一种应用程序启动装置的结构示意图。如图2所示,该应用程序启动装置20包括:检测单元201、获取单元202、确定单元203和启动单元204,其中,
检测单元201,用于检测第一应用程序对第二应用程序的调用;
获取单元202,用于获取所述第二应用程序的包名;
确定单元203,用于根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库;
启动单元204,用于根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序。
可选的,该应用程序启动装置20还包括:
判断单元,用于在所述获取单元获取所述第二应用程序的包名之后,判断当前电量是否低于预设电量阈值或者判断当前系统内存是否低于预设内存阈值,若是,触发所述确定单元203执行所述根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库的操作。
可选的,所述调用属性为界面组件调用;所述确定单元203具体用于:
根据所述界面组件调用属性,确定所述第二应用程序的包名需要匹配的数据库为黑名单;
所述启动单元204具体用于:
若所述第二应用程序的包名不在所述黑名单中,则启动所述第二应用程序。
可选的,所述调用属性为服务调用;所述确定单元203具体用于:
根据所述服务调用属性,确定所述第二应用程序的包名需要匹配的数据库为白名单;
所述启动单元204具体用于:
若所述第二应用程序的包名在所述白名单中,则启动所述第二应用程序。
可选的,所述调用属性为界面组件调用;所述确定单元203具体用于:
将所述第二应用程序的包名发送至云端服务器;所述第二应用程序的包名用于所述云端服务器确定出所述调用属性为界面组件调用属性,并根据所述界面组件调用属性,确定所述第二应用程序的包名需要匹配的数据库为黑名单;
所述启动单元204具体用于:
根据所述云端服务器发送的所述第二应用程序的包名不在所述黑名单中的匹配结果,启动所述第二应用程序。
可选的,所述调用属性为服务调用;所述确定单元203具体用于:
将所述第二应用程序的包名发送至云端服务器;所述第二应用程序的包名用于所述云端服务器确定出所述调用属性为服务调用属性,并根据所述服务调用属性,确定所述第二应用程序的包名需要匹配的数据库为白名单;
所述启动单元204具体用于:
根据所述云端服务器发送的所述第二应用程序的包名在所述白名单中的匹配结果,启动所述第二应用程序。
可理解的是,本实施例的应用程序启动装置20的各功能单元的功能可根据上述图1方法实施例的方法具体实现,此处不再赘述。
请参见图3,是本发明提供的一种应用程序启动设备的结构示意图。本实施例中所描述的应用程序启动设备300包括:至少一个处理器301、通信接口302、用户接口303和存储器304,处理器301、通信接口302、用户接口303和存储器304可通过总线或者其它方式连接,本发明实施例以通过总线305连接为例。其中,
处理器301可以是通用处理器,例如中央处理器(Central Processing Unit,CPU)。
通信接口302可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他设备或服务器进行通信。在本发明实施例中,应用程序启动设备300可以通过通信接口302与云端服务器进行通信,将上述实施例中所描述的第二应用程序的service的信息、第二应用程序的activity的信息发送至云端服务器。
用户接口303具体可为触控面板,包括触摸屏和触控屏,用于检测触控面板上的操作指令,用户接口303也可以是物理按键或者鼠标。用户接口303还可以为显示屏,用于输出、显示图像或数据。
存储器304可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器304还可以包括上述种类的存储器的组合。存储器304用于存储一组程序代码,处理器301用于调用存储器304中存储的程序代码,执行如下操作:
处理器301检测第一应用程序对第二应用程序的调用;
处理器301获取所述第二应用程序的包名;
处理器301根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库;
处理器301根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序。
可选的,处理器301获取所述第二应用程序的包名之后,处理器301还用于执行:
判断当前电量是否低于预设电量阈值或者判断当前系统内存是否低于预设内存阈值,若是,执行所述根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库的步骤。
可选的,所述调用属性为界面组件调用;处理器301根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库,包括:
处理器301根据所述界面组件调用属性,确定所述第二应用程序的包名需要匹配的数据库为黑名单;
处理器301所述根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序,包括:
若所述第二应用程序的包名不在所述黑名单中,则处理器301启动所述第二应用程序。
可选的,所述调用属性为服务调用;处理器301根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库,包括:
处理器301根据所述服务调用属性,确定所述第二应用程序的包名需要匹配的数据库为白名单;
处理器301根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序,包括:
若所述第二应用程序的包名在所述白名单中,则处理器301启动所述第二应用程序。
可选的,所述调用属性为界面组件调用;处理器301根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库,包括:
处理器301将所述第二应用程序的包名发送至云端服务器;所述第二应用程序的包名用于所述云端服务器确定出所述调用属性为界面组件调用属性,并根据所述界面组件调用属性,确定所述第二应用程序的包名需要匹配的数据库为黑名单;
处理器301根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序,包括:
处理器301根据所述云端服务器发送的所述第二应用程序的包名不在所述黑名单中的匹配结果,启动所述第二应用程序。
可选的,所述调用属性为服务调用;处理器301根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库,包括:
处理器301将所述第二应用程序的包名发送至云端服务器;所述第二应用程序的包名用于所述云端服务器确定出所述调用属性为服务调用属性,并根据所述服务调用属性,确定所述第二应用程序的包名需要匹配的数据库为白名单;
处理器301根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序,包括:
处理器301根据所述云端服务器发送的所述第二应用程序的包名在所述白名单中的匹配结果,启动所述第二应用程序。
可理解的是,处理器301的执行步骤具体可参见图1实施例所述的内容,此处不再赘述。
综上所述,通过实施本发明实施例,当检测到第一应用程序调用第二应用程序时,获取所述第二应用的包名,根据所述第一应用程序对所述第二应用程序的调用属性,来确定所述第二应用程序的包名需要匹配的数据库,进而根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序,根据调用属性来确定匹配的数据库可以提高应用程序启动控制的精准性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、ROM或RAM等。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例应用程序启动装置中的单元可以根据实际需要进行合并、划分和删减。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种应用程序启动方法,其特征在于,包括:
检测第一应用程序对第二应用程序的调用;
获取所述第二应用程序的包名;
根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库;
根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序。
2.根据权利要求1所述的方法,其特征在于,所述获取所述第二应用程序的包名之后,还包括:
判断当前电量是否低于预设电量阈值或者判断当前系统内存是否低于预设内存阈值,若是,执行所述根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库的步骤。
3.根据权利要求1所述的方法,其特征在于,所述调用属性为界面组件调用;所述根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库,包括:
根据所述界面组件调用属性,确定所述第二应用程序的包名需要匹配的数据库为黑名单;
所述根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序,包括:
若所述第二应用程序的包名不在所述黑名单中,则启动所述第二应用程序。
4.根据权利要求1所述的方法,其特征在于,所述调用属性为服务调用;所述根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库,包括:
根据所述服务调用属性,确定所述第二应用程序的包名需要匹配的数据库为白名单;
所述根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序,包括:
若所述第二应用程序的包名在所述白名单中,则启动所述第二应用程序。
5.根据权利要求1所述的方法,其特征在于,所述调用属性为界面组件调用;所述根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库,包括:
将所述第二应用程序的包名发送至云端服务器;所述第二应用程序的包名用于所述云端服务器确定出所述调用属性为界面组件调用属性,并根据所述界面组件调用属性,确定所述第二应用程序的包名需要匹配的数据库为黑名单;
所述根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序,包括:
根据所述云端服务器发送的所述第二应用程序的包名不在所述黑名单中的匹配结果,启动所述第二应用程序。
6.根据权利要求1所述的方法,其特征在于,所述调用属性为服务调用;所述根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库,包括:
将所述第二应用程序的包名发送至云端服务器;所述第二应用程序的包名用于所述云端服务器确定出所述调用属性为服务调用属性,并根据所述服务调用属性,确定所述第二应用程序的包名需要匹配的数据库为白名单;
所述根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序,包括:
根据所述云端服务器发送的所述第二应用程序的包名在所述白名单中的匹配结果,启动所述第二应用程序。
7.一种应用程序启动装置,其特征在于,包括:
检测单元,用于检测第一应用程序对第二应用程序的调用;
获取单元,用于获取所述第二应用程序的包名;
确定单元,用于根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库;
启动单元,用于根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序。
8.根据权利要求7所述的装置,其特征在于,还包括:
判断单元,用于在所述获取单元获取所述第二应用程序的包名之后,判断当前电量是否低于预设电量阈值或者判断当前系统内存是否低于预设内存阈值,若是,触发所述确定单元执行所述根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库的操作。
9.根据权利要求7所述的装置,其特征在于,所述调用属性为界面组件调用;所述确定单元具体用于:
根据所述界面组件调用属性,确定所述第二应用程序的包名需要匹配的数据库为黑名单;
所述启动单元具体用于:
若所述第二应用程序的包名不在所述黑名单中,则启动所述第二应用程序。
10.一种应用程序启动设备,其特征在于,包括:处理器、存储器、通信接口和总线;
所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述存储器存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行一种应用程序启动方法;其中,所述方法包括:
检测第一应用程序对第二应用程序的调用;
获取所述第二应用程序的包名;
根据所述第一应用程序对所述第二应用程序的调用属性,确定所述第二应用程序的包名需要匹配的数据库;
根据所述第二应用程序的包名与所述数据库的匹配结果,启动所述第二应用程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610374205.5A CN106227585B (zh) | 2016-05-31 | 2016-05-31 | 一种应用程序启动方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610374205.5A CN106227585B (zh) | 2016-05-31 | 2016-05-31 | 一种应用程序启动方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106227585A true CN106227585A (zh) | 2016-12-14 |
CN106227585B CN106227585B (zh) | 2020-02-14 |
Family
ID=57519380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610374205.5A Active CN106227585B (zh) | 2016-05-31 | 2016-05-31 | 一种应用程序启动方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106227585B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423146A (zh) * | 2017-07-24 | 2017-12-01 | 北京小米移动软件有限公司 | 控制应用程序相互调用的方法、装置及系统 |
CN107506177A (zh) * | 2017-06-27 | 2017-12-22 | 努比亚技术有限公司 | 一种应用程序的控制方法及移动终端 |
CN107835317A (zh) * | 2017-11-21 | 2018-03-23 | 广东欧珀移动通信有限公司 | 调度作业控制方法、装置、终端设备及存储介质 |
CN107861773A (zh) * | 2017-11-21 | 2018-03-30 | 广东欧珀移动通信有限公司 | 关联启动的管控方法、装置、存储介质及移动终端 |
CN107957913A (zh) * | 2017-11-21 | 2018-04-24 | 广东欧珀移动通信有限公司 | 关联启动的管控方法、装置、存储介质及移动终端 |
CN108668002A (zh) * | 2017-10-12 | 2018-10-16 | 湖南红手指信息技术有限公司 | 一种云手机的应用下载方法 |
CN108681492A (zh) * | 2018-05-22 | 2018-10-19 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置 |
CN109711144A (zh) * | 2018-12-24 | 2019-05-03 | 广州微算互联信息技术有限公司 | 云手机应用黑、白名单的管理方法 |
CN110830468A (zh) * | 2019-11-05 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 基于跨应用的权限管理方法、装置及计算机可读存储介质 |
US11474831B2 (en) | 2016-10-20 | 2022-10-18 | Huawei Technologies Co., Ltd. | Application startup control method and control device |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060168033A1 (en) * | 2004-12-21 | 2006-07-27 | Lucent Technologies, Inc. | Spam white list |
US20070083875A1 (en) * | 2005-10-11 | 2007-04-12 | International Business Machines Corporation | Method of delegating activity in service oriented architectures using continuations |
CN101901323A (zh) * | 2010-07-22 | 2010-12-01 | 湖北盛天网络技术有限公司 | 一种监控程序模块加载活动的系统过滤方法 |
CN102693395A (zh) * | 2012-06-07 | 2012-09-26 | 奇智软件(北京)有限公司 | 一种用于拦截应用程序对服务的调用的方法和装置 |
CN104123498A (zh) * | 2014-07-18 | 2014-10-29 | 广州金山网络科技有限公司 | 一种安卓系统Activity的安全性确定方法及装置 |
US8887152B1 (en) * | 2011-11-04 | 2014-11-11 | Trend Micro, Inc. | Android application virtual environment |
CN104182686A (zh) * | 2013-05-23 | 2014-12-03 | 阿里巴巴集团控股有限公司 | 一种Android系统Activity劫持风险检测方法及装置 |
CN104391743A (zh) * | 2014-11-26 | 2015-03-04 | 北京奇虎科技有限公司 | 优化移动终端的运行速度的方法和装置 |
CN104462980A (zh) * | 2014-12-30 | 2015-03-25 | 北京奇虎科技有限公司 | 一种应用程序权限管理的方法、装置、系统及移动终端 |
CN104486510A (zh) * | 2014-12-16 | 2015-04-01 | 上海斐讯数据通信技术有限公司 | 一种降低智能终端功耗的方法和系统 |
CN105050091A (zh) * | 2015-05-27 | 2015-11-11 | 中国科学院信息工程研究所 | 窃听行为侦测方法及装置 |
-
2016
- 2016-05-31 CN CN201610374205.5A patent/CN106227585B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060168033A1 (en) * | 2004-12-21 | 2006-07-27 | Lucent Technologies, Inc. | Spam white list |
US20070083875A1 (en) * | 2005-10-11 | 2007-04-12 | International Business Machines Corporation | Method of delegating activity in service oriented architectures using continuations |
CN101901323A (zh) * | 2010-07-22 | 2010-12-01 | 湖北盛天网络技术有限公司 | 一种监控程序模块加载活动的系统过滤方法 |
US8887152B1 (en) * | 2011-11-04 | 2014-11-11 | Trend Micro, Inc. | Android application virtual environment |
CN102693395A (zh) * | 2012-06-07 | 2012-09-26 | 奇智软件(北京)有限公司 | 一种用于拦截应用程序对服务的调用的方法和装置 |
CN104182686A (zh) * | 2013-05-23 | 2014-12-03 | 阿里巴巴集团控股有限公司 | 一种Android系统Activity劫持风险检测方法及装置 |
CN104123498A (zh) * | 2014-07-18 | 2014-10-29 | 广州金山网络科技有限公司 | 一种安卓系统Activity的安全性确定方法及装置 |
CN104391743A (zh) * | 2014-11-26 | 2015-03-04 | 北京奇虎科技有限公司 | 优化移动终端的运行速度的方法和装置 |
CN104486510A (zh) * | 2014-12-16 | 2015-04-01 | 上海斐讯数据通信技术有限公司 | 一种降低智能终端功耗的方法和系统 |
CN104462980A (zh) * | 2014-12-30 | 2015-03-25 | 北京奇虎科技有限公司 | 一种应用程序权限管理的方法、装置、系统及移动终端 |
CN105050091A (zh) * | 2015-05-27 | 2015-11-11 | 中国科学院信息工程研究所 | 窃听行为侦测方法及装置 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11474831B2 (en) | 2016-10-20 | 2022-10-18 | Huawei Technologies Co., Ltd. | Application startup control method and control device |
CN107506177A (zh) * | 2017-06-27 | 2017-12-22 | 努比亚技术有限公司 | 一种应用程序的控制方法及移动终端 |
CN107423146A (zh) * | 2017-07-24 | 2017-12-01 | 北京小米移动软件有限公司 | 控制应用程序相互调用的方法、装置及系统 |
CN107423146B (zh) * | 2017-07-24 | 2021-03-02 | 北京小米移动软件有限公司 | 控制应用程序相互调用的方法、装置及系统 |
CN108668002B (zh) * | 2017-10-12 | 2020-04-24 | 湖南微算互联信息技术有限公司 | 一种云手机的应用下载方法 |
CN108668002A (zh) * | 2017-10-12 | 2018-10-16 | 湖南红手指信息技术有限公司 | 一种云手机的应用下载方法 |
CN107861773A (zh) * | 2017-11-21 | 2018-03-30 | 广东欧珀移动通信有限公司 | 关联启动的管控方法、装置、存储介质及移动终端 |
CN107957913A (zh) * | 2017-11-21 | 2018-04-24 | 广东欧珀移动通信有限公司 | 关联启动的管控方法、装置、存储介质及移动终端 |
CN107835317A (zh) * | 2017-11-21 | 2018-03-23 | 广东欧珀移动通信有限公司 | 调度作业控制方法、装置、终端设备及存储介质 |
CN108681492A (zh) * | 2018-05-22 | 2018-10-19 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置 |
CN109711144A (zh) * | 2018-12-24 | 2019-05-03 | 广州微算互联信息技术有限公司 | 云手机应用黑、白名单的管理方法 |
CN110830468A (zh) * | 2019-11-05 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 基于跨应用的权限管理方法、装置及计算机可读存储介质 |
CN110830468B (zh) * | 2019-11-05 | 2021-04-13 | 腾讯科技(深圳)有限公司 | 基于跨应用的权限管理方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106227585B (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106227585A (zh) | 一种应用程序启动方法、装置及设备 | |
CN106156619B (zh) | 应用安全防护方法及装置 | |
US11337042B2 (en) | Short message processing method and apparatus, and electronic device | |
CN109040419B (zh) | 录屏方法、装置、移动终端及存储介质 | |
CN106096425A (zh) | 一种系统权限的开启方法、装置及设备 | |
CN107329659B (zh) | 一种权限设置方法、装置、电子设备及存储介质 | |
CN107066269A (zh) | 一种终端的分屏处理方法及装置 | |
CN104281950A (zh) | 提高电子支付安全性的方法及装置 | |
CN105426761A (zh) | 一种非法应用的识别方法及移动终端 | |
CN109117153A (zh) | 应用程序的处理方法、装置、终端和存储介质 | |
CN106789973B (zh) | 页面的安全性检测方法及终端设备 | |
CN105975302A (zh) | 一种应用安装方法及终端 | |
CN103198252B (zh) | 用于管理便携式终端中的应用程序的控制信息的设备和方法 | |
TW201738740A (zh) | 應用程式的圖標處理方法及裝置 | |
CN108241515A (zh) | 应用快捷方式建立方法及终端 | |
CN105893221A (zh) | 终端运行时长的告警方法及装置 | |
CN112016080A (zh) | 应用权限管理方法、装置及电子设备 | |
CN107346198A (zh) | 应用程序的启动方法及装置 | |
CN103870378A (zh) | 一种终端设备的监视方法及终端设备 | |
US7778660B2 (en) | Mobile communications terminal, information transmitting system and information receiving method | |
CN108347401B (zh) | 一种登录信息处理的方法及装置 | |
CN109840113B (zh) | 一种应用数据处理方法及其设备、存储介质、终端 | |
CN106302821B (zh) | 一种数据请求方法及其设备 | |
CN104767880A (zh) | 一种通信号码管理方法 | |
CN104035655B (zh) | 控制文字输入法显示的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |