[发明专利]消息交互方法及装置有效
申请号: | 201110448842.X | 申请日: | 2011-12-28 |
公开(公告)号: | CN102591724A | 公开(公告)日: | 2012-07-18 |
发明(设计)人: | 江洋 | 申请(专利权)人: | 奇智软件(北京)有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京市德权律师事务所 11302 | 代理人: | 刘丽君 |
地址: | 100016 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息 交互 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,特别是涉及消息交互方法及装置。
背景技术
一款移动终端上运行的软件(如手机软件等)发布之后,通常可以有两种方式实现功能的扩展,一种是程序的更新升级,另一种就是通过发布一系列的插件,通过插件与主程序的集成达到更新升级的目的。
例如,针对手机中的浏览器而言,需要为其实现网站排名的功能,此时就可以为开发一个小插件,该插件的功能就是统计当前浏览网页的排名。具体实现时,该插件需要获取浏览器用户当前浏览的网站地址信息,然后通过自身的功能得到网站的排名信息,再发送给浏览器。可见,在此过程中,插件与浏览器之间需要交互一些信息,但是,浏览器与插件又是各自独立的应用程序,因此,就需要解决浏览器与插件之间的相互通信问题。
现有的android移动终端操作系统提供了Intent消息机制,通过Intent的描述信息找到负责的相应组件,并将intent传给调用组件,Intent不但用于应用程序内部的调用交互,也可以用于不同的应用程序间交互。但是,Intent的机制是单向的,也即,当程序发送一个请求,却不能得到响应,这极大的阻碍了不同程序间的相互通信。
此外,在其他的实现方式下,浏览器主程序还可以使用Service组件,将自身服务提供给插件程序调用。Service是一个应用程序的组件,运行在后台,执行一些耗时长的操作,他没有用户界面。其他的应用程序组件可以启动服务,服务一旦启动,即使用户切换到另一个应用程序,该服务也能继续在后台运行。但是,插件功能是一个相对独立的特殊要求,而Service组件是系统通用的,虽然Service服务满足能够此特殊要求,但是实现时的复杂程度大大提高,维护成本过高。
发明内容
本发明提供了消息交互方法及装置,便于实现主程序与插件之间的双向相互通信,从而有效地提高了软件的效率,提高了插件的管理及通信的可控性。
本发明提供了如下方案:
一种消息交互方法,用于第一程序与第二程序之间进行消息交互,预先将所述第一程序及所述第二程序配置为相同的进程用户,并在调用接口中为同一程序的不同方法定义相同的反射函数,当第一程序需要调用第二程序的指定方法时,所述消息交互方法包括:
所述第一程序通过所述调用接口,向所述第二程序发送反射请求信息,所述反射请求信息用于指明请求调用的方法,以及调用该方法时需要传入的参数;
所述第二程序解析所述反射请求信息,基于所述传入的参数调用所述请求调用的方法并将返回值通过所述调用接口返回给第一程序,以便所述第一程序利用所述返回值进行相应的处理。
其中,所述第一程序为主程序,第二程序为插件;或者,所述第一程序为插件,所述第二程序为主程序;或者,所述第一程序为一插件,所述第二程序为另一插件。
其中,所述预先将所述第一程序及所述第二程序配置为相同的进程用户包括:
预先在所述第一程序及所述第二程序的配置文件中配置相同的User Id。
优选地,所述第一程序通过所述调用接口,向所述第二程序发送反射请求信息之前,还包括:
获取所述第二程序的对象;
确定所述对象所属的类;
获取对象的指定方法,并执行通过所述调用接口,向所述第二程序发送反射请求信息及其后续步骤。
其中,所述方法应用于移动终端中。
其中,所述移动终端的操作系统为Android系统。
一种消息交互装置,用于第一程序与第二程序之间进行消息交互,预先将所述第一程序及所述第二程序配置为相同的进程用户,并在调用接口中为同一程序的不同方法定义相同的反射函数,当第一程序需要调用第二程序的指定方法时,所述消息交互装置包括:
调用单元,用于所述第一程序通过所述调用接口,向所述第二程序发送反射请求信息,所述反射请求信息用于指明请求调用的方法,以及调用该方法时需要传入的参数;
响应单元,用于所述第二程序解析所述反射请求信息,基于所述传入的参数调用所述请求调用的方法并将返回值通过所述调用接口返回给第一程序,以便所述第一程序利用所述返回值进行相应的处理。
其中,所述第一程序为主程序,第二程序为插件;或者,所述第一程序为插件,所述第二程序为主程序;或者,所述第一程序为一插件,所述第二程序为另一插件。
其中,通过在所述第一程序及所述第二程序的配置文件中配置相同的User Id,实现将所述第一程序及所述第二程序配置为相同的进程用户。
优选地,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇智软件(北京)有限公司,未经奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110448842.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:袜子(32)
- 下一篇:控制有害节肢动物的方法,组合物和静电喷雾装置