【android】获取手机安装的所有程序

 

1.获取包管理器对象
PackageManager  pm = context.getPackageManager();
2.得到所有安装的程序包名
  List<PackageInfo> infos = pm.getInstallPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
3.然后遍历这个集合
  for( PackageInfo  packInfo : infos){
     Drawable  icon  =  packInfo.applicationInfo.loadIcon(pm);  //获取应用图标
    String appName =   packInfo.applicationInfo.loadLabel(pm).toString(); //获取应用名字
    ApplicationInfo info  =  packInfo.applicationInfo;
   }
判断是三方应用还是系统应用的方法
public boolean filterApp(ApplicationInfo info) {
        if ((info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
            return true;
        } else if ((info.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
            return true;
        }
        return false;
    }
posted @   opensmarty  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2023-04-23 【c&c++】vector 详解(C++)
2023-04-23 【c&c++】std::string::npos的使用
2023-04-23 【c&c++】C++中string::npos的一些用法总结
2023-04-23 【mysql】Sql优化总结!详细!(2021最新面试必问)
2023-04-23 【mysql】关于sql的慢查询及解决方案
点击右上角即可分享
微信分享提示