• /** 
  •  * Utility method to get default icon for a given package 
  •  * @param archiveFilePath the absolute path of the package 
  •  * @return the Drawable object of the package 
  •  */  
  •    public Drawable getIconFromPackage(String archiveFilePath) {  
  •        PackageParser packageParser = new PackageParser(archiveFilePath);  
  •        File sourceFile = new File(archiveFilePath);  
  •        DisplayMetrics metrics = new DisplayMetrics();  
  •        metrics.setToDefaults();  
  •        PackageParser.Package pkg = packageParser.parsePackage(sourceFile,   
  •             archiveFilePath, metrics, 0);  
  •        if (pkg == null)  
  •         return mContext.getResources().getDrawable(R.drawable.android);  
  •          
  •        //   
  •        ApplicationInfo info = pkg.applicationInfo;  
  •          
  •        Resources pRes = mContext.getResources();  
  •        AssetManager assmgr = new AssetManager();  
  •        assmgr.addAssetPath(archiveFilePath);  
  •        Resources res = new Resources(assmgr, pRes.getDisplayMetrics(),  
  •             pRes.getConfiguration());  
  •          
  •        // read the deafult icon of the package   
  •        if (info.icon != 0){  
  •            Drawable icon = res.getDrawable(info.icon);  
  •            return icon;  
  •        } else {  
  •         return mContext.getResources().getDrawable(R.drawable.android);  
  •        }  
  •    }  
創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()