Android获取设备已安装的应用
16lz
2021-01-26
项目中, 我们经常要用到显示系统已安装的应用, 可以通过两种方式获取已安装的应用, 一种是通过ApplicationInfo, 一种是通过ResolveInfo. 这里用的是ResolveInfo, 上代码。
PackageManager packageMgr = getActivity().getPackageManager(); Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); List<ResolveInfo> 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);
更多相关文章
- Android(安卓)M动态申请获取权限android.permission.READ_PHONE_
- [WebView学习之一]:Web Apps简介
- 在Android中修改快捷方式的图标
- Android-常用代码-36片段
- Android获取CPU信息(CPU名字和主频)
- Android上使用camera拍照,把获取的照片上传到远程服务器
- [原创] adb shell 启动,停止 android 应用程序
- Android学习笔记(十七)——使用意图调用内置应用程序
- Android如何获取视频首帧图片