手机杀毒-病毒查杀-
技术点:1、PackageManager.GET_UNINSTALLED_PACKAGES,获取那些已经卸载掉的应用,但数据文件没有删除 2、获取应用的签名,要加上flag,否则包管理者是不会获取的 packageInfo.signatures[0] 这是google为了扩展,而定义的返回一个数组,现在只用到第一个 |
步骤: 1、获取手机上所有的应用(包括已经卸载的,但没删除数据的) 2、然后获取其签名,转换成MD5值 3、将这个MD5值和病毒数据库中进行比较,如果存在,那么认为是病毒 4、拷贝病毒数据库antivirus.db到应用目录中 5、然后细节处理 |
核心代码:
|
结果: |
问题:游标没有关闭,导致的问题,数据查询很多的时候会出现 11-22 17:17:43.833: E/AndroidRuntime(16476): Caused by: java.lang.IllegalStateException: Process 16476 exceeded cursor quota 100, will kill it 解决:数据库查询完毕,一定要将游标给关闭 if (cursor != null) {
cursor.close();
} |