博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android获取设备已安装的应用
阅读量:5951 次
发布时间:2019-06-19

本文共 1487 字,大约阅读时间需要 4 分钟。

hot3.png

项目中, 我们经常要用到显示系统已安装的应用, 可以通过两种方式获取已安装的应用, 一种是通过ApplicationInfo, 一种是通过ResolveInfo. 这里用的是ResolveInfo, 上代码。

PackageManager packageMgr = getActivity().getPackageManager(); Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); List
resovleInfos = packageMgr.queryIntentActivities( mainIntent, 0); for (ResolveInfo resolve : resovleInfos) { // 自定义的类 CarAllInstalledAppInfo app = new CarAllInstalledAppInfo(); // resolve.loadIcon(packageMgr) 获取应用程序图标 app.setAppIcon(resolve.loadIcon(packageMgr)); // resolve.loadLabel(packageMgr) 获取应用程序名称 app.setAppName(resolve.loadLabel(packageMgr).toString()); // resolve.loadLabel(packageMgr) 获取应用程序报名 app.setAppPackage(resolve.activityInfo.packageName); // resolve.loadLabel(packageMgr) 获取应用程序启动的第一个activity app.setEntranceActivity(resolve.activityInfo.name); apps.add(app); } // 打开应用程序 ComponentName component = new ComponentName( app.getAppPackage(), app.getEntranceActivity()); Intent intent = new Intent(Intent.ACTION_MAIN); // 此处需要填写, 否则会出现打开Contact.apk nullpointer异常 intent.addCategory(Intent.CATEGORY_LAUNCHER); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); intent.setComponent(component); startActivity(intent);

转载于:https://my.oschina.net/abellee/blog/87786

你可能感兴趣的文章
IOS设计模式第二篇之单例设计模式
查看>>
CSipSimple 工程分析 <1>
查看>>
[问题2014S07] 解答
查看>>
hive-jdbc/odbc的解读和看法
查看>>
[LeetCode] Triangle
查看>>
poj2586 Y2K Accounting Bug(贪心)
查看>>
NSIS 资料
查看>>
Linux-进程基础
查看>>
Java 对文件的操作
查看>>
smarty模板引擎(一)基础知识
查看>>
让网站和APP更具动感的几点建议
查看>>
contentprovider的学习实例总结
查看>>
Ubuntu下在Apache中运行Keystone
查看>>
快捷键
查看>>
Java初学(二)
查看>>
opencv2对于读书笔记——二值化——thresholded功能
查看>>
krpano漫游加方向性3D声音(这篇文章已被移到krpano中国网站 krpano360.com)
查看>>
ZH奶酪:Python中zip函数的使用方法
查看>>
201507之佛山移动实习
查看>>
poj_1442 Treap
查看>>