如何获取list里每个apk的大小,现在获取到了包名,icon,版本,但是apk大小不知道怎样可以获取到,希望大家来帮帮我。在网上查了还是没有一个解决方法。

解决方案 »

  1.   


    这种效果么~使用PackageManager类getPackageSizeInfo方法。不过要导入我的framework jar包,2.3版本的~
    http://blog.csdn.net/t5721654/article/details/6725628
    看不明白QQ联系我好了~262733591
      

  2.   

    List<PackageInfo> packageinfo = getPackageManager().getInstalledPackages(0);
    for(PackageInfo p:packageinfo){
    String pkName = p.packageName;
    long length = new File(p.applicationInfo.publicSourceDir).length();
    //用户程序
    if ((p.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) <= 0) {
    // customs applications
    Log.e("***","包名:"+pkName+",大小:"+length);
    }else{//系统程序
    Log.e("***","包名:"+pkName+",大小:"+length);
    }
    }
      

  3.   

    long length = new File(p.applicationInfo.publicSourceDir).length();
    楼上得到的大小和设置里显示是不同的。~
    PackageManager类getPackageSizeInfo方法不仅能得到应用及数据大小,还能得到缓存大小~
      

  4.   

    呵呵,我自己弄好了,还是很感谢大家,结贴,给分。大家一起学习哦,大家谁知道如何在csdn,这个论坛上传图片呢。