关联应用设置方法、关联应用启动控制方法及装置与流程

文档序号:26101594发布日期:2021-07-30 18:12阅读:259来源:国知局
关联应用设置方法、关联应用启动控制方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种关联应用设置方法、关联应用启动控制方法及装置。



背景技术:

随着以智能终端为代表的便携式智能终端的大量普及,越来越多的功能新颖创意十足的应用不断地给用户带来学习和生活上的乐趣与便利,而人们在日常生活中也越来越离不开这些应用。但是用户在享受着智能终端带来的便利的同时,也伴随着一个极大的困扰,那就是智能终端的耗电速度过快。为了解决智能终端耗电快的问题,无论是智能终端厂商在硬件方面还是各种应用在软件方面都下了不少功夫。

安卓智能终端作为现今智能终端市场占有率最高的智能终端也逃脱不了这个问题。安卓系统为解决这一问题,采取了相应的限制措施,几乎限制了所有应用程序之间的后台拉起服务。

然而在某些特殊应用场景中,有时确实需要关联启动其他app的后台服务。比如,两个具有一定关联关系的办公应用程序,需要相互调用后台服务进行配合办公。但是由于安卓系统中添加了限制,限制在后台拉起其他应用服务,因此导致无法实现两个应用程序的关联,不可以在后台拉起应用服务,因此导致相应需求无法得到满足。



技术实现要素:

针对现有技术中的问题,本发明实施例提供一种关联应用设置方法、关联应用启动控制方法及装置。

具体地,本发明实施例提供了以下技术方案:

第一方面,本发明实施例提供了一种关联应用设置方法,包括:

在第一应用和第二应用的安卓清单文件中分别添加shareduserid属性,并设置所述第一应用和所述第二应用对应的shareduserid属性值相同;其中,所述第一应用和所述第二应用为待进行关联的两个应用;

控制所述第一应用和所述第二应用在安装至智能设备的过程中使用相同的签名分别打包成第一安装包文件和第二安装包文件,以实现所述第一安装包文件和所述第二安装包文件在安装至所述智能设备时被分配得到的应用标识相同。

第二方面,本发明实施例还提供了一种基于如第一方面的关联应用设置方法的关联应用启动控制方法,包括:

在接收到所述第一应用调用所述第二应用的调用请求时,判断所述第一应用和所述第二应用的应用标识是否相同,若相同,则允许所述第一应用调用所述第二应用。

进一步地,所述关联应用启动控制方法,还包括:

若判断获知所述第一应用和所述第二应用的应用标识不同,则禁止所述第一应用调用所述第二应用。

第三方面,本发明实施例还提供了一种关联应用设置装置,包括:

添加模块,用于在第一应用和第二应用的安卓清单文件中分别添加shareduserid属性,并设置所述第一应用和所述第二应用对应的shareduserid属性值相同;其中,所述第一应用和所述第二应用为待进行关联的两个应用;

签名设置模块,用于控制所述第一应用和所述第二应用在安装至智能设备的过程中使用相同的签名分别打包成第一安装包文件和第二安装包文件,以实现所述第一安装包文件和所述第二安装包文件在安装至所述智能设备时被分配得到的应用标识相同。

第四方面,本发明实施例还提供了一种基于第三方面所述关联应用设置装置的关联应用启动控制装置,包括:

关联应用启动控制模块,用于在接收到所述第一应用调用所述第二应用的调用请求时,判断所述第一应用和所述第二应用的应用标识是否相同,若相同,则允许所述第一应用调用所述第二应用。

进一步地,所述关联应用启动控制模块,还用于:

若判断获知所述第一应用和所述第二应用的应用标识不同,则禁止所述第一应用调用所述第二应用。

第五方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述关联应用设置方法的步骤,或,所述处理器执行所述程序时实现如第二方面所述关联应用启动控制方法的步骤。

第六方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述关联应用设置方法的步骤,或,该计算机程序被处理器执行时实现如第二方面所述关联应用启动控制方法的步骤。

第七方面,本发明实施例还提供了一种计算机程序产品,所计算机程序产品包括有计算机程序,该计算机程序被处理器执行时实现如第一方面所述关联应用设置方法的步骤。

第八方面,本发明实施例还提供了一种计算机程序产品,所计算机程序产品包括有计算机程序,该计算机程序被处理器执行时实现如第二方面所述关联应用启动控制方法的步骤。

由上面技术方案可知,本发明实施例提供的关联应用设置方法及装置,由于在两个具有相同签名的应用的安卓清单文件中添加shareduserid属性,并且shareduserid属性中的值相同,因此,在安卓系统中会认为两个应用为同类应用,因此,当两个应用安装至安卓智能设备时被分配得到的应用标识相同,进而两个应用之间可以相互进行后台服务调用,不受安卓系统后台限制。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的关联应用设置方法的流程图;

图2为本发明一实施例提供的在没有添加shareduserid属性前进行两个应用安装时生成的userid的示意图;

图3为本发明一实施例提供的在添加shareduserid属性且设置shareduserid属性值相同后进行两个应用安装时生成的userid的示意图;

图4为本发明一实施例提供的后台服务成功开启示意图;

图5为本发明一实施例提供的关联应用启动控制方法的流程图;

图6为本发明一实施例提供的关联应用设置装置的结构示意图;

图7为本发明一实施例提供的关联应用启动控制装置的结构示意图;

图8为本发明一实施例提供的电子设备的结构示意图;

图9为本发明另一实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1示出了本发明实施例提供的关联应用设置方法的流程图。如图1所示,本发明实施例提供的关联应用设置方法包括如下步骤:

步骤101:在第一应用和第二应用的安卓清单文件中分别添加shareduserid属性,并设置所述第一应用和所述第二应用对应的shareduserid属性值相同;其中,所述第一应用和所述第二应用为待进行关联的两个应用;

步骤102:控制所述第一应用和所述第二应用在安装至智能设备的过程中使用相同的签名分别打包成第一安装包文件和第二安装包文件,以实现所述第一安装包文件和所述第二安装包文件在安装至所述智能设备时被分配得到的应用标识相同。

在本实施例中,需要说明的是,在对本实施例的内容进行介绍之前,先对本实施例中出现的安卓清单文件、安装包文件以及shareduserid属性的含义进行如下解释说明:

①安卓清单文件是指安卓应用程序的信息描述文件,安卓清单文件为androidmanifest文件,其中定义了应用程序中包含的activity,service,contentprovider和broadcastreceiver组件信息。每个应用程序在根目录下必须包含一个androidmanifest文件且文件名不能修改。

②安装包文件是指apk文件,apk是androidpackage的缩写,即android系统的应用软件安装包。apk是类似symbiansis或sisx的文件格式,通过将apk文件直接传到android模拟器或android手机中执行即可安装。

③shareduserid属性是指安卓应用程序中的共享用户id属性,shareduserid属性具有这样的作用:当shareduserid属性被添加至两个应用的androidmanifest文件且两个应用的shareduserid属性值被设置为相同时,能够使得两个应用在使用相同的签名打包成apk文件并安装至智能设备时可以分配得到完全相同的userid。

在本实施例中,需要说明的是,对于安装在智能设备中的每个apk文件,android系统会给每个apk进程分配一个单独的用户空间,并为其分配一个应用标识userid,同时为其创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。需要说明的是,这个应用标识userid在应用程序安装到智能设备中时被分配,并且在这个智能设备中保持它的永久性。

基于上述分析,为实现第一应用和第二应用之间的关联启动,本实施例在第一应用和第二应用的androidmanifest文件中分别添加shareduserid属性,并设置所述第一应用和所述第二应用对应的shareduserid属性值相同,这样通过shareduserid属性的添加和设置使得第一应用和第二应用可以拥有相同的应用标识userid。由于拥有相同userid的多个apk可以配置成运行在同一个进程中,因此默认可以互相访问数据。此外,由于android系统限制相同的shareduserid必须使用相同的签名,所以必须要将两个需要关联的第一应用和第二应用进行相同签名打包。

在本实施例中,第一应用和第二应用可以为学习类应用app,也可以为办公类应用app,也可以为安全防护类app,本实施例对此不作限定。

此外,在本实施例中,需要说明的是,本实施例中的第一应用和第二应用只是为了区分是不同的应用,而不是限制本实施例提供的这种关联应用设置方法以及后续实施例提供的关联应用启动控制方法只适用于两个应用之间的关联启动问题,可以理解的是,本实施例提供的这种关联应用设置方法以及后续实施例提供的关联应用启动控制方法可以适用于两个应用之间的关联启动问题,也可以适用于多个(如三个、四个等)应用之间的关联启动问题。其原理均类似,此处不再赘述。

由上面技术方案可知,本发明实施例提供的关联应用设置方法,由于在两个具有相同签名的应用的androidmanifest文件中添加shareduserid属性,并且shareduserid属性中的值相同,因此,在android系统中会认为两个应用为同类应用,因此,当两个应用安装至android智能设备时被分配得到的应用标识userid相同,进而两个应用之间可以相互进行后台服务调用,不受android系统后台限制。

下面结合图2、图3和图4对本实施例提供的关联应用设置方法进行详细说明。

如图2所示,在没有添加shareduserid属性之前,安装第一应用和第二应用时,两个应用的userid是完全不同的。在这种情况下,如果第一应用尝试调用第二应用的后台服务或第二应用尝试调用第一应用的后台服务,会在智能设备应用启动管理中被拦截。

正如上面实施例所介绍的内容,如果想成功进行两个应用的关联启动,需要保证两点情况必须满足:

a、两个应用必须使用同一个签名打包;b、androidmanifest文件中设置相同的sharduserid属性。

在按照本实施例提供的关联应用设置方法进行处理后的结果如图3所示。也即在第一应用和第二应用的androidmanifest文件中分别添加shareduserid属性,并设置所述第一应用和所述第二应用对应的shareduserid属性值相同,同时采用相同的签名进行打包后,两个应用在安装至智能设备时产生的userid是相同。相应地,在第一应用尝试调用第二应用的后台服务或第二应用尝试调用第一应用的后台服务时发现,是没有关联启动限制的。如图4所示,后台服务已经成功的开启了。由此可知,本实施例提供的关联应用设置方法,可以突破android和厂商后台启动限制来成功的启动后台服务。

基于上述实施例提供的关联应用设置方法,本发明实施例提供了一种关联应用启动控制方法。图5示出了本发明实施例提供的关联应用启动控制方法的流程图。如图5所示,本发明实施例提供的关联应用启动控制方法包括如下步骤:

步骤201:在接收到所述第一应用调用所述第二应用的调用请求时,判断所述第一应用和所述第二应用的应用标识是否相同,若相同,则允许所述第一应用调用所述第二应用。

本实施例基于上述实施例提供的关联应用设置方法,提供了一种关联应用启动控制方法。也即在第一应用和第二应用的androidmanifest文件中分别添加shareduserid属性,并设置所述第一应用和所述第二应用对应的shareduserid属性值相同,同时采用相同的签名进行打包后,两个应用在安装至智能设备时产生的应用标识userid是相同的。因此,在本实施例中,在接收到所述第一应用调用所述第二应用的调用请求时(也可以是在接收到所述第二应用调用所述第一应用的调用请求时),判断所述第一应用和所述第二应用的应用标识userid是否相同,若相同,则说明第一应用和第二应用为同类应用,因此允许所述第一应用调用所述第二应用。如图4所示,当第一应用调用第二应用时,第二应用的后台服务可以成功开启。由此可知,本实施例提供的关联应用设置方法,能够突破android和厂商后台启动限制来成功启动关联应用的后台服务。

基于上述实施例的内容,在本实施例中,关联应用启动控制方法,还包括:

若判断获知所述第一应用和所述第二应用的应用标识userid不同,则禁止所述第一应用调用所述第二应用。

在本实施例中,若第一应用和第二应用的应用标识userid不同,则说明两个应用不是同一类应用,android系统为两者分别创建了不同的沙箱,两个应用分别在各自的沙箱内运行,android系统限制了两者之前的相互调用。

图6示出了本发明实施例提供的关联应用设置装置的结构示意图。如图6所示,本实施例提供的关联应用设置装置,包括:添加模块11和签名设置模块12,其中:

添加模块11,用于在第一应用和第二应用的安卓清单文件中分别添加shareduserid属性,并设置所述第一应用和所述第二应用对应的shareduserid属性值相同;其中,所述第一应用和所述第二应用为待进行关联的两个应用;

签名设置模块12,用于控制所述第一应用和所述第二应用在安装至智能设备的过程中使用相同的签名分别打包成第一安装包文件和第二安装包文件,以实现所述第一安装包文件和所述第二安装包文件在安装至所述智能设备时被分配得到的应用标识相同。

由于本发明实施例提供的关联应用设置装置,可以用于执行上述实施例所述的关联应用设置方法,其工作原理和有益效果类似,故此处不再详述,具体内容可参见上述实施例的介绍。

在本实施例中,需要说明的是,本发明实施例的装置中的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。

图7示出了本发明实施例提供的关联应用启动控制装置的结构示意图。如图7所示,本实施例提供的关联应用启动控制装置,包括:关联应用启动控制模块21;

关联应用启动控制模块21,用于在接收到所述第一应用调用所述第二应用的调用请求时,判断所述第一应用和所述第二应用的应用标识是否相同,若相同,则允许所述第一应用调用所述第二应用。

基于上述实施例的内容,在本实施例中,所述关联应用启动控制模块21,还用于:

若判断获知所述第一应用和所述第二应用的应用标识不同,则禁止所述第一应用调用所述第二应用。

由于本发明实施例提供的关联应用启动控制装置,可以用于执行上述实施例所述的关联应用启动控制方法,其工作原理和有益效果类似,故此处不再详述,具体内容可参见上述实施例的介绍。

在本实施例中,需要说明的是,本发明实施例的装置中的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。

基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图8,所述电子设备具体包括如下内容:处理器301、存储器302、通信接口303和通信总线304;

其中,所述处理器301、存储器302、通信接口303通过所述通信总线304完成相互间的通信;

所述处理器301用于调用所述存储器302中的计算机程序,所述处理器执行所述计算机程序时实现上述关联应用设置方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:在第一应用和第二应用的安卓清单文件中分别添加shareduserid属性,并设置所述第一应用和所述第二应用对应的shareduserid属性值相同;其中,所述第一应用和所述第二应用为待进行关联的两个应用;控制所述第一应用和所述第二应用在安装至智能设备的过程中使用相同的签名分别打包成第一安装包文件和第二安装包文件,以实现所述第一安装包文件和所述第二安装包文件在安装至所述智能设备时被分配得到的应用标识相同。

可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。

基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述关联应用设置方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:在第一应用和第二应用的安卓清单文件中分别添加shareduserid属性,并设置所述第一应用和所述第二应用对应的shareduserid属性值相同;其中,所述第一应用和所述第二应用为待进行关联的两个应用;控制所述第一应用和所述第二应用在安装至智能设备的过程中使用相同的签名分别打包成第一安装包文件和第二安装包文件,以实现所述第一安装包文件和所述第二安装包文件在安装至所述智能设备时被分配得到的应用标识相同。

可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。

基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图9,所述电子设备具体包括如下内容:处理器401、存储器402、通信接口403和通信总线404;

其中,所述处理器401、存储器402、通信接口403通过所述通信总线404完成相互间的通信;

所述处理器401用于调用所述存储器402中的计算机程序,所述处理器执行所述计算机程序时实现上述关联应用启动控制方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:在接收到所述第一应用调用所述第二应用的调用请求时,判断所述第一应用和所述第二应用的应用标识是否相同,若相同,则允许所述第一应用调用所述第二应用。

可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。

基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述关联应用启动控制方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:在接收到所述第一应用调用所述第二应用的调用请求时,判断所述第一应用和所述第二应用的应用标识是否相同,若相同,则允许所述第一应用调用所述第二应用。

可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。

基于相同的发明构思,本发明又一实施例提供了一种计算机程序产品,所计算机程序产品包括有计算机程序,该计算机程序被处理器执行时实现上述关联应用设置方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:在第一应用和第二应用的安卓清单文件中分别添加shareduserid属性,并设置所述第一应用和所述第二应用对应的shareduserid属性值相同;其中,所述第一应用和所述第二应用为待进行关联的两个应用;控制所述第一应用和所述第二应用在安装至智能设备的过程中使用相同的签名分别打包成第一安装包文件和第二安装包文件,以实现所述第一安装包文件和所述第二安装包文件在安装至所述智能设备时被分配得到的应用标识相同。

可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。

基于相同的发明构思,本发明又一实施例提供了一种计算机程序产品,所计算机程序产品包括有计算机程序,该计算机程序被处理器执行时实现上述关联应用启动控制方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:在接收到所述第一应用调用所述第二应用的调用请求时,判断所述第一应用和所述第二应用的应用标识是否相同,若相同,则允许所述第一应用调用所述第二应用。

可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。

此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的关联应用设置方法。

此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

此外,在本发明中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1