获取手机安装的其他应用的信息

主要会去使用PackageManager这个类

 public void getAppNames(){
        PackageManager pm = this.getPackageManager();
        List<PackageInfo> infoList =pm.getInstalledPackages(0);
        int listSize = infoList.size();
        for(int i=0;i<listSize;i++){
            Log.d("Appnames", infoList.get(i).toString());
        }
    }
}

其实还需要去判断是否是 系统应用 如何判断系统应用呢:

 public void getAppNames(){
        PackageManager pm = this.getPackageManager();
        List<PackageInfo> infoList =pm.getInstalledPackages(0);
        for(PackageInfo packageInfo:infoList) {
//加入一个这个判断          
  if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
                Log.d("Appnames", packageInfo.packageName.toString());
            }
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容