[发明专利]启动插件服务的方法、装置和终端设备有效
申请号: | 201710157645.X | 申请日: | 2017-03-16 |
公开(公告)号: | CN106933636B | 公开(公告)日: | 2020-08-18 |
发明(设计)人: | 张炅轩 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 王玉双 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 启动 插件 服务 方法 装置 终端设备 | ||
本发明实施例公开了一种启动插件服务的方法、装置和终端设备。其中方法包括:通过服务管理组件的Binder对象接收客户端的启动服务请求信息;根据所述启动服务请求信息启动所述服务管理组件所在的进程中的目标服务;其中,所述服务管理组件管理其所在的进程中的所有服务,所述服务管理组件与所述客户端运行在不同的进程中。本发明实施例通过为服务端每个进程设置服务管理组件,管理其所在进程中的所有服务,当目标服务与客户端运行在不同的进程中时,可以实现对目标服务的启动,因此在启动插件提供的服务时,既不需要在主程序的AndroidManifest.xml文件中预设服务坑位,也不需要在服务升级时对主程序进行升级的额外处理。
技术领域
本发明属于计算机技术领域,特别是涉及一种启动插件服务的方法、装置和终端设备。
背景技术
插件是一种遵循一定规范的应用程序接口编写出来的程序,目前Android系统使用插件提供的服务的方法包括:启动服务(Start Service)、停止服务(Stop Service)、绑定服务(Bind Service)和解除绑定服务(Unbind Service)。在Android系统中使用插件提供的服务主要采用两种方案来实现:一种是通过在主程序中编写一个服务中介,利用这个服务中介通过反射机制来调用插件,其具体实现方法为:首先在主程序的AndroidManifest.xml文件中声明此服务中介,然后在主程序中编写此服务中介,此服务中介的所有函数都是通过反射机制调用插件内部的函数来实现;另一种是通过在主程序中预设一些服务坑位,利用这些服务坑位来加载插件提供的服务,其具体实现方法为:首先预先在主程序的AndroidManifest.xml文件中声明多个虚拟的服务注册信息,即服务坑位,然后为插件提供的服务分配相适配的服务坑位,将此服务加载到服务坑位所对应的进程空间中运行。
上述现有的两种方案虽然都能够实现对插件提供的服务的使用,然而,在具体实现过程中,我们发现上述现有的两种方案都存在着一定的局限性:第一种方案,要升级插件提供的服务必须先升级主程序,只有在升级了主程序后才能够使用升级后的服务,需要进行主程序升级的额外处理;第二种方案,由于预设的服务坑位数量有限,而服务常驻于后台,生命周期较长,这样很快预设的服务坑位就会被用完,而如果预设坑位过多又会导致启动速度受到影响,当第三方或者自己通过Binder获取主程序应用的信息时,有可能会因信息过多而出现TransactionTooLarge的异常。
发明内容
本发明实施例要解决的一个技术问题是:提供一种启动插件服务的方法、装置和终端设备,可以在不需要设置坑位且不需要进行额外处理的情况下,启动插件提供的服务。
为解决上述技术问题,根据本发明实施例的一个方面,提供一种启动插件服务的方法,包括:
通过服务管理组件的Binder对象接收客户端的启动服务请求信息;
根据所述启动服务请求信息启动所述服务管理组件所在的进程中的目标服务;
其中,所述服务管理组件管理其所在的进程中的所有服务,所述服务管理组件与所述客户端运行在不同的进程中。
在基于本发明上述方法的另一个实施例中,所述通过服务管理组件的Binder对象接收客户端的启动服务请求信息,包括:
根据所述启动服务请求信息调用所述服务管理组件的AIDL接口对象的startService函数。
在基于本发明上述方法的另一个实施例中,所述根据所述启动服务请求信息启动所述服务管理组件所在的进程中的目标服务,包括:
通过所述服务管理组件中继承所述AIDL接口的内部类对象访问所述服务管理组件核心类的startService函数;其中所述服务管理组件的核心类实现所述AIDL接口。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710157645.X/2.html,转载请声明来源钻瓜专利网。