我是靠谱客的博主 无限小猫咪,这篇文章主要介绍android 获取已安装应用(App)列表,现在分享给大家,希望可以做个参考。

效果图

 获取手机上已安装应用列表,将获取到的信息用集合返回,可以自己定义是否过滤系统应用,Appinfo是一个实体类,包含应用的名称 包名 图标icon等等

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/** * 获取手机已安装应用列表 * @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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部