一种调用系统的消息处理能力的方法和移动终端的制作方法

文档序号:6498810阅读:110来源:国知局
一种调用系统的消息处理能力的方法和移动终端的制作方法
【专利摘要】本发明实施例公开了一种调用系统的消息处理能力的方法,所述方法包括:替换系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入回调处理函数;所述主屏程序通过所述替换后的主屏程序的初始化代码建立与第三方程序之间的进程间通信通道;所述主屏程序通过所述建立得到的进程间通信通道监听到第三方程序的消息处理请求;所述主屏程序调用所述回调处理函数处理所述第三方程序的消息处理请求。本发明实施例还公开了一种移动终端。采用本发明,可以实现第三方程序调用系统的消息处理能力。
【专利说明】一种调用系统的消息处理能力的方法和移动终端
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种调用系统的消息处理能力的方法和移动终端。
【背景技术】
[0002]由于在一些移动终端的操作系统的限制,在第三方程序中只能通过系统开发公司提供的公开接口发短信,而系统开发公司提供的公开接口只能实现有限的功能,例如在苹果公司开发的iOS系统中,第三方程序并不能进行读取短信数据库,发送彩信和iMessage(iOS系统设备之间的一种即时通讯工具,不需经过通讯运营商而是通过网络可直达对方iOS设备)消息等操作。

【发明内容】

[0003]本发明实施例所要解决的技术问题在于,提供一种调用系统的消息处理能力的方法和移动终端,可实现第三方程序调用系统的消息处理能力。
[0004]为了解决上述技术问题,本发明实施例提供了一种调用系统的消息处理能力的方法,所述方法包括:
[0005]替换系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入回调处理函数;
[0006]所述主屏程序通过所述替换后的主屏程序的初始化代码建立与第三方程序之间的进程间通信通道;
[0007]所述主屏程序通过所述建立得到的进程间通信通道监听到第三方程序的消息处理请求;
[0008]所述主屏程序调用所述回调处理函数处理所述第三方程序的消息处理请求。
[0009]其中,所述所述主屏程序通过所述替换后的主屏程序的初始化代码建立与第三方程序之间的进程间通信通道之后还包括:
[0010]还原所述主屏程序的原始初始化代码。
[0011]其中,所述替换系统的主屏程序的原始初始化代码包括:
[0012]通过采用Hook技术将动态库中的代码替换所述主屏程序的原始初始化代码。
[0013]其中,所述方法还包括:
[0014]所述主屏程序将处理所述第三方程序的消息处理请求的结果通过所述建立得到进程间通信通道返回至所述第三方程序。
[0015]其中,所述主屏程序调用所述回调处理函数处理所述第三方程序的消息处理请求包括:
[0016]根据所述第三方程序的消息处理请求调用所述回调处理函数执行以下消息处理中的任一种:读取消息数据库、调用系统应用程序接口发送消息。
[0017]其中,所述系统为已越狱的iOS系统,并已安装mobile substrate依赖包。[0018]相应地,本发明实施例还提供了一种移动终端,所述移动终端包括:
[0019]代码处理模块,用于替换系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入回调处理函数;
[0020]所述主屏程序包括:
[0021]通信通道建立单元,用于通过所述替换后的初始化代码建立所述主屏程序与第三方程序之间的进程间通信通道;
[0022]请求监听单元,用于通过所述建立得到的进程间通信通道监听到第三方程序的消息处理请求;
[0023]消息处理单元,用于调用所述回调处理函数处理所述第三方程序的消息处理请求。
[0024]其中,所述代码处理模块还用于:在所述通信通道建立单元通过所述替换后的初始化代码建立所述主屏程序与第三方程序之间的进程间通信通道完成后,使用所述主屏程序的原始初始化代码替换所述替换后的主屏程序的初始化代码。
[0025]其中,所述代码处理模块包括:
[0026]初始化替换单元,用于通过采用Hook技术将动态库中的代码替换所述主屏程序的初始化代码。
[0027]其中,所述主屏程序还包括:
[0028]结果返回单元,用于将处理所述第三方程序的消息处理请求的结果通过所述建立得到进程间通信通道返回至所述第三方程序。
[0029]其中,所述消息处理单元具体用于:
[0030]根据所述第三方程序的消息处理请求调用所述回调处理函数执行以下消息处理中的任一种:读取消息数据库、调用系统应用程序接口发送消息。
[0031]其中,所述系统为已越狱的iOS系统,并已安装mobile substrate依赖包。
[0032]本发明实施例通过替换系统的主屏程序的初始化代码实现建立主屏程序与第三方程序之间的IPC通道,进而可以监听到第三方程序的消息处理请求并调用系统的消息处理能力进行处理,实现了第三方程序调用系统的消息处理能力。
【专利附图】

【附图说明】
[0033]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0034]图1是本发明实施例中的一种调用系统的消息处理能力的方法的流程示意图;
[0035]图2是本发明实施例中的一种移动终端的结构示意图。
【具体实施方式】
[0036]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0037]图1是本发明实施例中的一种调用系统的消息处理能力的方法的流程示意图,本发明实施例中的调用系统的消息处理能力的方法可以实现在例如iOS系统的手机、平板电脑、数字电视、便携式多媒体播放器等移动终端上,具备正常收发短信和iMessage等消息处理能力。如图所示本发明实施例中实现第三方程序调用系统的消息处理能力的方法包括:
[0038]S101,替换系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入回调处
理函数。
[0039]具体实现中,本发明实施例中的系统可以为已越狱的iOS系统,并预先安装了mobilesubstrate基础依赖包(cydia插件或者软件运行的基础依赖包。它提供软件运行的公共库,可以用来动态替换内存中的代码、数据等),在安装需要调用系统的消息处理能力的第三方程序时,可以通过采用Hook技术(iOS下的Hook技术是通过动态库的方式加载到程序中,用自定义的函数替换系统原始函数的方法)将动态库中的预设代码替换iOS系统的主屏程序(SpringBoard程序,为管理iOS主屏幕的程序,同时也负责管理其他任务包括窗口服务、应用程序的启动和切换、设备设置等)的原始初始化代码,并在所述主屏程序中嵌入预设的回调处理函数,所述预设的用于替换主屏程序的原始初始化代码用于建立主屏程序与所述第三方程序之间的进程间通信通道,而预设的回调处理函数用于对所述第三方程序发出的请求进行相应处理。
[0040]S102,所述主屏程序通过所述替换后的主屏程序的初始化代码建立与第三方程序之间的进程间通信通道。
[0041]具体实现中,可以通过触发主屏程序的所述被替换后的初始化代码,从而在主屏程序与第三方程序之间的IPC (Inter-Process Communication,进程间通信)通道,本发明实施例中的IPC通道可以是Socket、管道或者其他在iOS系统中支持的进程间通信方式。
[0042]S103,所述主屏程序通过所述建立得到的进程间通信通道监听到第三方程序的消息处理请求。
[0043]具体的,所述消息处理请求可以为第三方程序请求访问短信数据库、发送短信、彩信或者iMessage等。在建立得到主屏程序与第三方程序之间的IPC通道后,主屏程序可以实现通过建立得到的IPC通道监听第三方程序发出的请求,当监听到第三方程序发出的消息处理请求后,执行S104。
[0044]S104,所述主屏程序调用所述回调处理函数处理所述第三方程序的消息处理请求。
[0045]具体的,在监听到第三方程序发出的消息处理请求后,所述主屏程序中预先嵌入的回调处理函数被触发,通过执行所述回调处理函数调用系统的消息处理能力对所述消息处理请求进行处理,例如根据第三方程序发出的消息处理请求直接读取消息数据库中的短信、iMessage等,或根据第三方程序发出的消息处理请求调用系统API (ApplicationProgramming Interface,应用程序编程接口)发送短信、彩信或者iMessage等。
[0046]进而,主屏程序通过执行所述回调处理函数在对监听到的第三方程序的消息处理请求进行处理后,可以将处理结果返回至所述第三方程序,例如将请求读取的短信数据返回给第三方程序使其在程序界面上显示给用户,或将消息发送的反馈消息返回给第三方程序使其在程序界面中提示用户消息发送成功与否。
[0047]图2是本发明实施例中的一种移动终端的结构示意图。本发明实施例中的移动终端可以实现在如iOS系统的手机、平板电脑、数字电视、便携式多媒体播放器等设备上,具备正常收发短信和iMessage等消息处理能力。如图所示本发明实施例中的移动终端包括代码处理模块210、主屏程序220以及第三方程序230,其中:
[0048]代码处理模块210用于替换系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入回调处理函数。
[0049]具体实现中,本发明实施例中的系统可以为已越狱的iOS系统,并预先安装了mobilesubstrate基础依赖包(cydia插件或者软件运行的基础依赖包,提供软件运行的公共库,可以用来动态替换内存中的代码、数据等),在安装需要调用系统的消息处理能力的第三方程序时,代码处理模块210可以通过采用Hook技术(iOS下的Hook技术是通过动态库的方式加载到程序中,用自定义的函数替换系统原始函数的方法)将动态库中的预设代码替换iOS系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入预设的回调处理函数,所述预设的用于替换主屏程序的原始初始化代码用于建立主屏程序与所述第三方程序之间的进程间通信通道,而预设的回调处理函数用于对所述第三方程序发出的请求进行相应处理。
[0050]所述主屏程序220包括:
[0051]通信通道建立单元221,用于通过所述替换后的初始化代码建立所述主屏程序与第三方程序之间的进程间通信通道。具体实现中,通信通道建立单元221可以通过触发主屏程序的所述被替换后的初始化代码,从而在主屏程序与第三方程序之间的IPC(Inter-Process Communication,进程间通信)通道。
[0052]请求监听单元222,用于通过所述建立得到的进程间通信通道监听到第三方程序的消息处理请求。具体的,所述第三方程序的消息处理请求可以为第三方程序请求访问短信数据库、发送短信、彩信或者iMessage等。在通信通道建立单元221建立得到主屏程序与第三方程序之间的IPC通道后,请求监听单元222可以通过建立得到的IPC通道监听第三方程序发出的请求,当监听到第三方程序发出的消息处理请求后,触发消息处理单元223处理所述请求。
[0053]消息处理单元223,用于调用所述回调处理函数处理所述第三方程序的消息处理请求。具体实现中,当请求监听单元222监听到第三方程序发出的消息处理请求后,消息处理单元223触发所述主屏程序中预先嵌入的回调处理函数,通过执行所述回调处理函数调用系统的消息处理能力对所述消息处理请求进行处理,例如根据第三方程序发出的消息处理请求直接读取消息数据库中的短信、iMessage等,或根据第三方程序发出的消息处理请求调用系统API (Application Programming Interface,应用程序编程接口)发送短信、彩信或者iMessage等。
[0054]进而,本发明实施例中的移动终端的主屏程序还可以包括:
[0055]结果返回单元224,用于将处理所述第三方程序的消息处理请求的结果通过所述建立得到进程间通信通道返回至所述第三方程序。具体实现中,消息处理单元223通过执行所述回调处理函数在对监听到的第三方程序的消息处理请求进行处理后,结果返回单元224可以将处理结果返回至所述第三方程序,例如将请求读取的短信数据返回给第三方程序使其在程序界面上显示给用户,或将消息发送的反馈消息返回给第三方程序使其在程序界面中提示用户消息发送成功与否。
[0056]本发明实施例通过替换移动终端系统的主屏程序的初始化代码实现建立主屏程序与第三方程序之间的IPC通道,进而可以监听到第三方程序的消息处理请求并调用系统的消息处理能力进行处理,实现了第三方程序调用系统的消息处理能力。
[0057]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0058]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1.一种调用系统的消息处理能力的方法,其特征在于,所述方法包括: 替换系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入回调处理函数;所述主屏程序通过所述替换后的主屏程序的初始化代码建立与第三方程序之间的进程间通信通道; 所述主屏程序通过所述建立得到的进程间通信通道监听到第三方程序的消息处理请求; 所述主屏程序调用所述回调处理函数处理所述第三方程序的消息处理请求。
2.如权利要求1所述的调用系统的消息处理能力的方法,其特征在于,所述所述主屏程序通过所述替换后的主屏程序的初始化代码建立与第三方程序之间的进程间通信通道之后还包括: 还原所述主屏程序的原始初始化代码。
3.如权利要求1所述的调用系统的消息处理能力的方法,其特征在于,所述替换系统的主屏程序的原始初始化代码包括: 通过采用Hook技术将动态库中的代码替换所述主屏程序的原始初始化代码。
4.如权利要求1所述的调用系统的消息处理能力的方法,其特征在于,所述方法还包括: 所述主屏程序将处理所述第三方程序的消息处理请求的结果通过所述建立得到进程间通信通道返回至所述第三方程序。
5.如权利要求1所述的调用系统的消息处理能力的方法,其特征在于,所述主屏程序调用所述回调处理函数处理所述第三方程序的消息处理请求包括: 根据所述第三方程序的消息处理请求调用所述回调处理函数执行以下消息处理中的任一种:读取消息数据库、调用系统应用程序接口发送消息。
6.如权利要求广5中任一项所述的调用系统的消息处理能力的方法,其特征在于,所述系统为已越狱的iOS系统,并已安装mobile substrate依赖包。
7.—种移动终端,其特征在于,所述移动终端包括: 代码处理模块,用于替换系统的主屏程序的原始初始化代码,并在所述主屏程序中嵌入回调处理函数; 所述主屏程序包括: 通信通道建立单元,用于通过所述替换后的初始化代码建立所述主屏程序与第三方程序之间的进程间通信通道; 请求监听单元,用于通过所述建立得到的进程间通信通道监听到第三方程序的消息处理请求; 消息处理单元,用于调用所述回调处理函数处理所述第三方程序的消息处理请求。
8.如权利要求7所述的移动终端,其特征在于,所述代码处理模块还用于:在所述通信通道建立单元通过所述替换后的初始化代码建立所述主屏程序与第三方程序之间的进程间通信通道完成后,使用所述主屏程序的原始初始化代码替换所述替换后的主屏程序的初始化代码。
9.如权利要求7所述的移动终端,其特征在于,所述代码处理模块包括: 初始化替换单元,用于通过采用Hook技术将动态库中的代码替换所述主屏程序的初始化代码。
10.如权利要求7所述的移动终端,其特征在于,所述主屏程序还包括: 结果返回单元,用于将处理所述第三方程序的消息处理请求的结果通过所述建立得到进程间通信通道返回至所述第三方程序。
11.如权利要求7所述的移动终端,其特征在于,所述消息处理单元具体用于: 根据所述第三方程序的消息处理请求调用所述回调处理函数执行以下消息处理中的任一种:读取消息数据库、调用系统应用程序接口发送消息。
12.如权利要求7~11中任一项所述的移动终端,其特征在于,所述系统为已越狱的iOS系统,并已安装mo bile substrate依赖包。
【文档编号】G06F9/445GK103914321SQ201310002212
【公开日】2014年7月9日 申请日期:2013年1月5日 优先权日:2013年1月5日
【发明者】陈静聪, 李斌 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1