需求:

采集用户手机上安装应用的各种信息,目前可以采集到的有:应用名称、版本号、、安装时间、更新时间等

f889a3356717d0e7ae62278efe036346.png

1b14f15b59035052ab2bd1cf2ac14c9a.png

代码:

private void getPackages() {

// 获取已经安装的所有应用, PackageInfo 系统类,包含应用信息

Listpackages = getPackageManager().getInstalledPackages(0);

for (int i = 0; i < packages.size(); i++) {

PackageInfo packageInfo = packages.get(i);

if ((packageInfo.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM) == 0) { //非系统应用

// AppInfo 自定义类,包含应用信息

AppInfo appInfo = new AppInfo();

appInfo.setAppName(

packageInfo.applicationInfo.loadLabel(getPackageManager()).toString());//获取应用名称

appInfo.setPackageName(packageInfo.packageName); //获取应用包名,可用于卸载和启动应用

appInfo.setVersionName(packageInfo.versionName);//获取应用版本名

appInfo.setVersionCode(packageInfo.versionCode);//获取应用版本号

appInfo.setAppIcon(packageInfo.applicationInfo.loadIcon(getPackageManager()));//获取应用图标

System.out.println(appInfo.toString());

mData.add(appInfo);

} else { // 系统应用

}

}

}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐