概述
效果图
获取手机上已安装应用列表,将获取到的信息用集合返回,可以自己定义是否过滤系统应用,Appinfo是一个实体类,包含应用的名称 包名 图标icon等等
/**
* 获取手机已安装应用列表
* @param ctx
* @param isFilterSystem 是否过滤系统应用
* @return
*/
public static ArrayList<AppInfo> getAllAppInfo(Context ctx,boolean isFilterSystem) {
ArrayList<AppInfo> appBeanList = new ArrayList<>();
AppInfo bean = null;
PackageManager packageManager = ctx.getPackageManager();
List<PackageInfo> list = packageManager.getInstalledPackages(0);
for (PackageInfo p : list) {
bean = new AppInfo();
bean.setIcon(p.applicationInfo.loadIcon(packageManager));
bean.setLabel(packageManager.getApplicationLabel(p.applicationInfo).toString());
bean.setPackage_name(p.applicationInfo.packageName);
int flags = p.applicationInfo.flags;
// 判断是否是属于系统的apk
if ((flags & ApplicationInfo.FLAG_SYSTEM) != 0&&isFilterSystem) {
// bean.setSystem(true);
} else {
appBeanList.add(bean);
}
}
return appBeanList;
}
Appinfo
public class AppInfo {
public int uid;
public String label;//应用名称
public String package_name;//应用包名
public Drawable icon;//应用icon
public AppInfo() {
uid = 0;
label = "";
package_name = "";
icon = null;
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public String getPackage_name() {
return package_name;
}
public void setPackage_name(String package_name) {
this.package_name = package_name;
}
public Drawable getIcon() {
return icon;
}
public void setIcon(Drawable icon) {
this.icon = icon;
}
}
最后
以上就是无限小猫咪为你收集整理的android 获取已安装应用(App)列表的全部内容,希望文章能够帮你解决android 获取已安装应用(App)列表所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复