[发明专利]一种安卓系统窗口对象获取方法和装置有效
| 申请号: | 201410784202.X | 申请日: | 2014-12-16 |
| 公开(公告)号: | CN104484176B | 公开(公告)日: | 2018-01-19 |
| 发明(设计)人: | 张辉 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F11/36 |
| 代理公司: | 北京润泽恒知识产权代理有限公司11319 | 代理人: | 苏培华 |
| 地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 系统 窗口 对象 获取 方法 装置 | ||
1.一种安卓系统窗口对象获取方法,包括:
在窗口服务调用的窗口对象获取函数之前,拦截对所述安卓系统中初始窗口对象获取函数的调用;
将所述拦截的初始窗口对象获取函数替换为第一窗口对象获取函数;
在触发窗口服务以获取窗口对象时,所述窗口服务通过调用所述第一窗口对象获取函数获取窗口对象并返回指定进程;
所述指定进程从所述窗口对象中提取各子窗口对象。
2.如权利要求1所述的方法,其特征在于,所述在窗口服务调用的窗口对象获取函数之前,拦截对所述安卓系统中初始窗口对象获取函数的调用包括:
监听是否开始创建窗口服务;
如果监听到开始创建窗口服务,则拦截对所述窗口服务的创建,从而拦截窗口服务对其需要调用的安卓系统中初始窗口对象获取函数的加载。
3.如权利要求2所述的方法,其特征在于,将所述拦截窗口对象获取函数替换为第一窗口对象获取函数包括:
在拦截对所述窗口服务的创建后,将窗口服务需要加载的初始窗口对象获取函数替换为第一窗口对象获取函数;
创建所述窗口服务,并加载所述第一窗口对象获取函数。
4.如权利要求2所述的方法,其特征在于,还包括:
将安卓系统初始的进程孵化器替换为特定的第一进程孵化器;通过所述第一进程孵化器监听是否开始创建窗口服务。
5.如权利要求4所述的方法,其特征在于,所述通过所述第一进程孵化器监听是否开始创建窗口服务包括:
通过所述第一进程孵化器创建java虚拟机;
通过所述java虚拟机注册用于监听窗口服务的套接字,通过所述套接字监听是否开始创建窗口服务。
6.如权利要求5所述的方法,其特征在于,所述通过所述套接字监听是否开始创建窗口服务包括:
监听所述套接字中是否接收到创建窗口服务的第一消息;如果所述套接字接收到创建窗口服务的第一消息,则确定开始创建窗口服务。
7.如权利要求3所述的方法,其特征在于,所述将窗口服务需要加载的初始窗口对象获取函数替换为第一窗口对象获取函数包括:
将窗口服务需要加载的初始getfocuswindow函数,替换为第一getfocuswindow函数;所述第一getfocuswindow函数的返回时序为返回指定进程;其中,getfocuswindow函数是从窗口管理服务维持的窗口list堆栈的栈顶获取一个活动的窗口对象。
8.如权利要求7所述的方法,其特征在于,所述窗口服务通过调用所述第一窗口对象获取函数获取窗口对象包括:
通过第一getfocuswindow函数,查找窗口对象堆栈顶部的windowstata窗口对象。
9.如权利要求8所述的方法,其特征在于,还包括:
在窗口对象堆栈顶部的窗口对象发生变化时,判断所述窗口对象是否已经获取;
如果所述窗口对象未获取,则继续将所述窗口对象返回指定进程。
10.一种安卓系统窗口对象获取装置,包括:
拦截模块,适于在窗口服务调用的窗口对象获取函数之前,拦截对所述安卓系统中初始窗口对象获取函数的调用;
函数替换模块,适于将所述拦截的初始窗口对象获取函数替换为第一窗口对象获取函数;
窗口对象获取模块,适于在触发窗口服务以获取窗口对象时,所述窗口服务通过调用所述第一窗口对象获取函数获取窗口对象并返回指定进程;
窗口获取模块,适于所述指定进程从所述窗口对象中提取各子窗口对象。
11.如权利要求10所述的装置,其特征在于,所述拦截模块包括:
窗口服务创建监听模块,适于监听是否开始创建窗口服务;
第一拦截模块,适于如果监听到开始创建窗口服务,则拦截对所述窗口服务的创建,从而拦截窗口服务对其需要调用的安卓系统中初始窗口对象获取函数的加载。
12.如权利要求11所述的装置,其特征在于,所述函数替换模块包括:
第一函数替换模块,适于在拦截对所述窗口服务的创建后,将窗口服务需要加载的初始窗口对象获取函数替换为第一窗口对象获取函数;
窗口服务创建模块,适于创建所述窗口服务,并加载所述第一窗口对象获取函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410784202.X/1.html,转载请声明来源钻瓜专利网。





