[发明专利]获取Android应用程序启动次数和时间的方法有效
申请号: | 201610070825.X | 申请日: | 2016-01-29 |
公开(公告)号: | CN105740125B | 公开(公告)日: | 2018-03-30 |
发明(设计)人: | 黄旭;雷珂 | 申请(专利权)人: | 四川秘无痕信息安全技术有限责任公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 641000 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 获取 android 应用程序 启动 次数 时间 方法 | ||
技术领域
本发明涉及信息安全领域,特别涉及一种获取Android应用程序启动次数和时间的方法。
背景技术
Android手机中会记录用户很多的使用记录,包括聊天、账号、应用使用记录等。其中应用使用记录可以帮助我们了解手机中哪些是不常用软件,以及使用它们的时间及次数,从而选择卸载应用程序达到手机瘦身的目的。
目前已知的获取应用程序使用情况的方法有四种:1、开启后台服务进行监听开启服务期间的使用情况;2、源码环境下使用PkgUsageStats等相关类;3、通过反射获取并使用PkgUsageStats等相关类;4、进入工程模式查看。
目前市面上的相关软件大都是第一种方式来达到目的,也只是记录了应用最近一次使用时间,而没有记录使用次数及时长。这种方式会一直占用手机运行内存并且消耗电量,当该应用的服务被关掉也就不能获取到应用程序的使用情况。
第二种和第三种方式都需要使应用获取系统级权限,将应用进行系统签名打包成系统应用。而受Android开源的影响,不同的厂商的系统签名文件也千差万别,对这两种方式的实现也就造成了相当大的困难。
对于第四种方式,大多数手机可以在拨号界面输入*#*#4636#*#*进入,由于版本rom有所差别,有的手机的进入方式不同。手机工程模式给人的印象就是生硬的黑白屏,全屏的英文和代码命令,就像视窗重新回到了DOS系统,如果操作不当手机会带来重大的损失。
发明内容
本发明针对现有技术的不足,提供一种获取Android应用程序启动次数和时间的方法,能解决当前获取Android应用程序启动次数和时间的种种弊端。
为解决以上问题,本发明采用的技术方案如下:一种获取Android应用程序启动次数和时间的方法,包括如下步骤:
1.1解析启动时间文件,该文件是xml格式文件,数据存放在节点a中,节点a内部用节点b记录了各个应用的启动数据,其中节点b中的值bvl为应用程序的包名,节点b内部的节点c记录了该应用页面的启动情况,值cvl表示页面的名称,cv2表示页面最近一次启动时间;
1.2解析使用次数及时长文件,该文件是一种安卓手机中的USAGE格式文件,以4个字节为单位存储数据,该文件对于数字的存储采用16进制小端格式存储;其中,偏移量0x00~0x03表示文件头;偏移量0x 04~文件尾表示数据区;偏移量0x04~0x07表示该文件记录的应用程序个数;偏移量0x08~文件尾记录了各个应用的使用情况,每个应用数据为一个数据块,数据块与数据块之间以4个0x00字节分割;
2.1加载系统文件,在手机获取root权限的情况下,开启su进程修改文件读写权限,通过数据流加载到内存;
2.2解析启动时间文件,通过Android自带的XmlPullParser相关类解析文件;通过getAttributeValue方法获取节点b中的值bv1;通过获取页面的启动时间来间接获取应用程序的启动时间,同样通过以上方法获取到应用程序所有页面的启动时间,通过比较,最近的时间即为应用程序的启动时间;
2.3通过自定义解析类实现对使用次数及时长文件的解析。
包名,每个数据块前4位代表应用包名实际长度,紧接着是用Unicode编码存储应用包名,包名的存储长度=实际长度*2;
应用启动数据,由于该文件中的数据是以4个字节为单位存储的,如果包名长度结尾处偏移量恰好为4的倍数,则加上4个0x00字节,否则用0x00占位补齐作为启动数据与包名的分割符;应用启动数据由8个字节组成:前4个字节代表启动次数,后4个字节代表运行时长;
应用程序页面个数,应用程序页面个数紧接在应用启动数据后,用4个0x00字符分割,该数据由4个字节组成;
应用程序页面名称,应用程序页面名称紧跟在应用程序页面个数后,同样前4位也是代表名称的实际长度,后面用Unicode编码存储了页面名称;
应用页面启动数据,同应用启动数据一样,如果应用程序页面名称结尾处偏移量恰好为4的倍数,则加上4个0x00字节,否则用0x00占位补齐作为页面启动数据与页面名称的分隔符;页面启动数据由44个字节组成:前4个字节代表页面的启动次数,后40个为预留字节与页面信息数据组成。
作为优选,2.3通过自定义解析类实现对使用次数及时长文件的解析包括:
2.3.1数字信息的转换方法functionl:
步骤1:将小端格式倒序转换为大端格式;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川秘无痕信息安全技术有限责任公司,未经四川秘无痕信息安全技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610070825.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于数据库触发器的告警方法
- 下一篇:一种圆珠笔