在有些场景下,我们需要拿到设备上已经安装的应用列表,进行展示,首先在清单文件中添加如下权限:
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
接下来在功能页面中获取应用列表数据:
PackageManager packageManager = getPackageManager();
List<ApplicationInfo> appList = packageManager.getInstalledApplications(0);
//存储应用的名称、图标drawable的列表
List<AppBean> appBeanList = new ArrayList<>();
for (ApplicationInfo appInfo : appList) {
//名称
String appName = appInfo.loadLabel(packageManager).toString();
//icon
Drawable drawable = appInfo.loadIcon(packageManager);
appBeanList.add(new AppBean(appName,drawable));
}