您的位置:首页 > 移动开发 > Android开发

关于遍历Android手机中应用的问题

2017-03-09 15:38 232 查看
先拿到应用列表

List v3 = arg5.getPackageManager().getInstalledPackages(0);


然后遍历这个列表,即可获得所以手机在安装的应用

但是有时候为了区分系统应用还后来安装的应用,可以使用如下办法:

ApplicationInfo appInfo = p.applicationInfo;
/**
* Value for {@link #flags}: if set, this application is installed in the
* device's system image.
*/
if((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) > 0)
//系统程序
else
//不是系统程序


其中:FLAG_SYSTEM的定义如下
public static final int FLAG_SYSTEM = 1<<0;


或者是这样判断:

if((((PackageInfo)v0_1).applicationInfo.flags & 1) == 0) {
//不是系统程序
} else {
//系统程序
}


有时在恶意软件中,恶意代码可能需要获得安装的应用信息,同时还要区分系统和非系统的应用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android