应用程序安装方法及装置的制造方法_2

文档序号:8318968阅读:来源:国知局
后,第二应用程序的安装包仅为资源文件,本身并无法被运行。
[0031]步骤S120、在该第一应用程序被启动之后加载适配服务。
[0032]适配服务是内建于第一应用程序内,随第一应程序启动而自动运行。适配服务检测当前是否具有与该第二应用程序的安装包匹配的权限。具体的检测过程例如可包括:请求调用受限的接口,若接收到错误信息,则说明没有匹配的权限;反之则说明具有匹配的权限。若没有匹配的权限,则不进行任何操作;若具有匹配的权利则进行步骤S130。
[0033]步骤S130、若具有权限则执行第二应用程序的安装操作。
[0034]deb格式的安装包本身有三部分组成:数据包,包含实际安装的程序数据,文件名为data.tar.XXX ;安装信息及控制脚本包,包含deb的安装说明,标识,脚本等,文件名为control, tar.gz ;最后一个是deb文件的一些二进制数据,包括文件头等信息。
[0035]data.tar.gz包含的是实际安装的程序数据,而在安装过程中,该包里的数据会被直接解压到根目录(即/)。而control, tar.gz则包含了一个deb安装的时候所需要的控制信息。一般有5个文件:Contix)l,用了记录软件标识,版本号,平台,依赖信息等数据;preinst,在解包data.tar.gz前运行的脚本;postinst,在解包数据后运行的脚本;prerm,卸载时,在删除文件之前运行的脚本;postrm,在删除文件之后运行的脚本。
[0036]根据以上描述,deb包虽然也是为压缩包格式,但是可以在deb包安装的时候运行脚本,从而可以将应用程序拷贝到指定系统目录下,并能修改应用程序的权限,从而使得程序获得系统权限来访问系统资源和调用系统接口,也可以通过注册监听系统消息和接口来动态的监控系统行为。因此,在第二应用程序被安装后,相比于第一应用程序,设备就具有原先被受限的功能。
[0037]为更好的理解本实施例,进一步参阅图3,其为上述的第一应程序与第二应用程序的架构示意图。第一应程序包括应用程序的界面以及不依赖系统接口的模块(如联系人模块及设置等)。第二应用程序中包括通话记录获取、系统短信数据获取、电话/信息拦截能依赖于系统接口或者监听系统事件的功能。此外,第一应用程序中还具有适配服务以及进程间通讯模块。若第二应用程序(DEB安装包)被安装,则第一应用程序与第二应用程序之间通过进程间数据交换的方式进行通信。
[0038]根据本实施的应用程序安装方法,第二应用程序的安装包实质已经作为第一应用程序的资源文件而与第一应用程序的其他部分一并下载,因此可以动态地根据当前是否获取匹配的系统权限而相应自动安装第二应用程序。相应地,对于获取系统权限的用户,其不需要单独从其他渠道再重新下应并安装应用程序以获取受限的功能。减少用户安装应用程序的时间以及提升应用程序安装的便利性。
[0039]第二实施例
[0040]本实施例提供一种应用程序安装方法,其与第一实施例的方法相似,其不同之处在于,参阅图4,该适配服务还进行以下操作:
[0041]步骤S210、适配服务还接收该第一应程序的其他模块的数据获取请求。该其他模块例如是图3所示的通话记录显示模块,数据获取请求所请求的数据是全量的通话记录。
[0042]步骤S220,判断该数据获取请求是否依赖于该第二应用程序内的服务提供,若是,则进行步骤S230 ;若否,直接调用相关的功能即可。
[0043]例如,对于获取全量通话记录的数据获取请求,则需要依赖于第二应用程序内的通话记录获取模块,因此要执行步骤S230 ;否则直接调用相关功能即可。
[0044]步骤S230,判断第二应用程序是否已被安装,若是则进行步骤S240,若否,则执行步骤S250。
[0045]判断第二应用程序是否已经被安装的过程可包括:可以是向系统的提供的应用列表接口发出查询请求以查询是否已经安装相应的应用程序。还可以是尝试调用第二应用程序内提供的预定接口,若成功接收到回复的数据,则说明已被安装,否则,未被安装。
[0046]步骤S240,通过进程间通信方式向该第二应用程序内的服务请求数据并返回数据至该其他模块。
[0047]由于第一应用程序与第二应用程序运行在不同的进程内,需要采用取进程间通信的方式交换数据。而进程间通信的方式属于习知内容,在此不再赘述。
[0048]步骤S250,返回与该数据获取请求对应的默认值至该其他模块。
[0049]该默认值例如可以是空值或者预定的值。
[0050]根据本实施例的方法,在第二应用程序已经安装时,可以通过进程间通信的方式获取第一应用程序中无法获取的数据,而在第二应用程序未被安装时,可以返回默认值,因此无论第二应用程序是否能够正常安装运行,在第一应用程序中都可以获取到预定格式的数据。第一应用程序的运行过程中的数据处于可预期的状态,运行更加平衡。
[0051]第三实施例
[0052]本实施例提供一种应用程序安装方法,其与第一实施例的方法相似,其不同之处在于,参阅图5,该适配服务还进行以下操作:
[0053]步骤S310,适配服务还接收该第一应程序的其他模块的服务调用请求。
[0054]例如,在图3所示的“设置”模块中,用户可以设定要开启来去电拦截以及信息拦截功能。可以理解,来去电拦截以及信息拦截功能需要通过注册监听系统消息实现。而这些功能需要超级用户权限,只能在第二应用程序中实现,如图3所示的来去电拦截模块与信息拦截模块。因此,在要使用这些功能时,需要发出服务调用请求。
[0055]步骤S320,判断该服务调用请求指定的模块是否在该第二应用程序内实现,若是,进行步骤S330,否则,直接调用该指定的模块即可。
[0056]对于上述的来去电拦截以及信息拦截功能,其对应的模块是图3所示的来去电拦截模块与信息拦截模块。因此要进行步骤S330。
[0057]步骤S330,判断第二应用程序是否已经被安装,若是进行步骤S340,否则进行步骤 S350。
[0058]判断第二应用程序是否已经被安装的过程可包括:可以是向系统的提供的应用列表接口发出查询请求以查询是否已经安装相应的应用程序。还可以是尝试调用第二应用程序内提供的预定接口,若成功接收到回复的数据,则说明已被安装,否则,未被安装。
[0059]步骤S340,通过进程间通信方式向该第二应用程序转发该服务调用请求。
[0060]由于第一应用程序与第二应用程序运行在不同的进程内,需要采用取进程间通信的方式交换数据。而进程间通信的方式属于习知内容,在此不再赘述。
[0061]步骤S350,返回与该服务调用请求对应的默认值至该其他模块。
[0062]该默认值例如是空值或者其他表示开户该功能失败的值。
[0063]根据本实施例的方法,在第二应用程序已经安装时,可以在第一应用程序中设置全用第二应用程序中提供的需要较高权限的功能。
[0064]第四实施例
[0065]本实施例提供一种应用程序安装装置,参阅图6,其包括第一应用安装模块10、适配模块20、以及第二应用安装模块30。
[0066]第一应用安装模块10用于根据第一应用程序的安装包执行第一应用程序的安装操作,该第一应用程序的安装包内包括至少一个资源文件,该资源文件的内容为第二应用程序的安装包。上述安装操作例如是将安装包内包括的程序文件复制到指定的目录下。
[0067]适配模块20用于在该第一应用程序被启动之后加载适配服务,该适配服务检测当前是否具有与该第二应用程序的安装包匹配的权限。
[0068]第二应用安装模块30用于若具有权限则根据该第二应用程序的安装包执行第二应用程序的操作。
[0069]关于本实施例的装置其他细节,还可进一步参阅第一实施例,在此不再赘述。
[0070]根据本实施的应用程序安装装置,第二应用程序的安装包实质已经作为第一应用程序的资源文件而与第一应用程序的其他部分一并下载,因此可以动态地根据当前是否获取匹配的系统权限而相应自动安装第二应用程序。相应地,对于获取系统权限的用户,其不需要单独从其他渠道再重新下应并安装应用程序以获
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1