android 获取APK的包名 版本号 名称,图标等信息

转载,原文来自

http://blog.csdn.net/csheng1204/article/details/8161290


懒得说了,直接附代码:

[java]  view plain copy print ?
  1. /** 
  2. * 获取apk包的信息:版本号,名称,图标等 
  3. * @param absPath apk包的绝对路径 
  4. * @param context  
  5. */  
  6.           
  7.     PackageManager pm = getPackageManager();  
  8.     PackageInfo pkgInfo = pm.getPackageArchiveInfo(absPath,PackageManager.GET_ACTIVITIES);  
  9.     if (pkgInfo != null) {  
  10.         ApplicationInfo appInfo = pkgInfo.applicationInfo;  
  11.         /* 必须加这两句,不然下面icon获取是default icon而不是应用包的icon */  
  12.         appInfo.sourceDir = absPath;  
  13.         appInfo.publicSourceDir = absPath;  
  14.         String appName = pm.getApplicationLabel(appInfo).toString();// 得到应用名  
  15.         String packageName = appInfo.packageName; // 得到包名  
  16.         String version = pkgInfo.versionName; // 得到版本信息  
  17.         /* icon1和icon2其实是一样的 */  
  18.         Drawable icon1 = pm.getApplicationIcon(appInfo);// 得到图标信息  
  19.         Drawable icon2 = appInfo.loadIcon(pm);  
  20.         String pkgInfoStr = String.format("PackageName:%s, Vesion: %s, AppName: %s", packageName, version, appName);  
  21.         Log.i(TAG, String.format("PkgInfo: %s", pkgInfoStr));  
  22. }


下面是两句比较重要的代码,为什么要加这个,不加就获取不到包的icon

[java]  view plain copy print ?
  1. /* 必须加这两句,不然下面icon获取是default icon而不是应用包的icon */  
  2. appInfo.sourceDir = absPath;  
  3. appInfo.publicSourceDir = absPath;  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值