[发明专利]获取安卓应用运行时界面信息的方法、系统、电子设备和存储介质在审
申请号: | 202310269447.8 | 申请日: | 2023-03-20 |
公开(公告)号: | CN116303024A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 马骏;黄伟祥;曹春 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/57 |
代理公司: | 南京钟山专利代理有限公司 32252 | 代理人: | 徐燕 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 获取 应用 运行 界面 信息 方法 系统 电子设备 存储 介质 | ||
1.一种获取安卓应用运行时界面信息的方法,其特征在于,包括以下步骤:
步骤1:在安卓应用运行时,获取多层界面列表,如果界面的名称不包含当前应用的文件包的名称,则去除不属于本应用的界面层,得到本应用的界面列表;
步骤2:提取本应用的界面列表中最上层界面的所有界面元素的属性信息并存储在键值对中;所述界面元素包括布局和控件,所述属性信息包括ID、透明度、大小和位置;
步骤3:根据界面元素的属性信息排除不可见的界面元素,然后对剩余的界面元素进行截图,并计算截图的透明度,进一步排除透明的界面元素;
步骤4:如果当前界面包含可见界面元素则返回提取到的界面元素的属性信息,如果当前界面不包含可见界面元素并且是最底层则返回空,否则进入到当前界面的下一层,继续提取该界面层的界面元素属性信息,并返回步骤3。
2.根据权利要求1所述的获取安卓应用运行时界面信息的方法,其特征在于,步骤3中,所述根据界面元素的属性信息排除不可见的界面元素具体为:
步骤3.1.1:如果界面元素的透明度小于透明度阈值α,判断该界面元素为不可见;
步骤3.1.2:如果界面元素的宽或者高小于长度阈值β,则判断该界面元素为不可见;
步骤3.1.3:通过位置、宽和高找出界面元素所占的区域,如果界面元素所占的区域和安卓应用的界面区域没有重合部分或者重合部分的宽或者高小于长度阈值β,则表示界面元素超出界面区域,判定该界面元素为不可见。
3.根据权利要求1所述的获取安卓应用运行时界面信息的方法,其特征在于,步骤3中,所述对剩余的界面元素进行截图,并计算截图的透明度,进一步排除透明的界面元素具体为:
获取剩余的界面元素的截图,对截图中的像素点进行采样,从截图的左上角坐标为(0,0)的像素位置开始采样,设宽度方向采样次数为m+1,高度方向采样次数为n+1,则宽度方向的采样间隔M为截图宽度的高度方向的采样间隔N为截图高度的取n+1行,m+1列,共(m+1)*(n+1)个样本像素点,每个样本像素点包含四个通道,分别为红通道、绿通道、蓝通道和透明度通道,求取样本像素点的透明度通道的透明度值的平均值,如果透明度值的平均值小于透明度阈值α,则判定该界面元素为透明的。
4.根据权利要求1所述的获取安卓应用运行时界面信息的方法,其特征在于,步骤3中,对剩余的界面元素进行截图时,可以发送截图指令,指定界面元素的ID,单独对指定的界面元素截图。
5.一种获取安卓应用运行时界面信息的系统,其特征在于,包括数据获取模块和排除不可见元素模块;
所述数据获取模块用于在安卓应用运行时得到本应用的界面列表,提取界面层中所有界面元素的属性信息并存储在键值对中;
所述排除不可见元素模块用于根据界面元素的属性信息排除不可见的界面元素,对剩余的界面元素进行截图,并计算截图的透明度,进一步排除透明的界面元素。
6.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时,实现如权利要求1-4任一项所述的获取安卓应用运行时界面信息的方法。
7.一种计算机可读存储介质,其特征在于:存储有计算机程序,所述计算机程序使计算机执行如权利要求1-4任一项所述的获取安卓应用运行时界面信息的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310269447.8/1.html,转载请声明来源钻瓜专利网。