在开发中 ,有时候会遇到获取当前安装应用的列表这种需求,现在就来讲解下实现它的两种方法

1.通过PackageInfo获取:public static List<PackageInfo> getAllApps(Context context) {        List<PackageInfo> apps = new ArrayList<PackageInfo>();        PackageManager pManager = context.getPackageManager();        // 获取手机内所有应用        List<PackageInfo> packlist = pManager.getInstalledPackages(0);        for (int i = 0; i < packlist.size(); i++) {            PackageInfo pak = (PackageInfo) packlist.get(i);            // if()里的值如果<=0则为自己装的程序,否则为系统工程自带            if ((pak.applicationInfo.flags & pak.applicationInfo.FLAG_SYSTEM) <= 0) {                // 添加自己已经安装的应用程序                // apps.add(pak);            } else{ // 系统应用            }            apps.add(pak);        }        return apps;    }

2.通过使用ResolveInfo获取:
public void loadAllAppsByBatch() {
PackageManager packageManager = mContext.getPackageManager();
List apps = null;
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
apps = packageManager.queryIntentActivities(mainIntent, 0);
for (int i = 0; i < apps.size(); i++) {
String packageName = apps.get(i).activityInfo.applicationInfo.packageName;
String title = apps.get(i).loadLabel(packageManager).toString();
Drawable icon = null;
if(title == null){
title = apps.get(i).activityInfo.name;
}
ActivityInfo info = apps.get(i).activityInfo;
icon = getFullResIcon(info);
datas.add(new PakageMod(packageName,title,icon));
}
}

更多相关文章

  1. Android(安卓)4.4从图库选择图片,获取图片路径并裁剪
  2. Android系列之SQLite与Android(安卓)Studio的数据交互
  3. android获取本地图片或拍照图片
  4. Android(安卓)获取屏幕的多种宽高信息的示例代码
  5. android 获得手机号相关
  6. Android(安卓)获取按钮Button的高度、宽度、坐标
  7. 硬件访问服务2之让Android应用程序访问C库
  8. Android动态获取权限,多组权限
  9. Android通讯录管理(获取联系人、通话记录、短信消息)(二)

随机推荐

  1. Spring Cloud Gateway:新一代API网关服务
  2. Spring Boot Admin:微服务应用监控
  3. Spring Cloud Config:外部集中化配置管理
  4. Spring Cloud Bus:消息总线
  5. Spring Cloud Security:Oauth2使用入门
  6. Spring Cloud Sleuth:分布式请求链路跟踪
  7. 上优酷土豆,再也不用看广告啦!
  8. 豆瓣开源的那些神库
  9. Spring Cloud Security:Oauth2结合JWT使用
  10. Spring Cloud Security:Oauth2实现单点登