Android中获取apk安装包信息的方法

所属分类: 软件编程 / Android 阅读数: 1435
收藏 0 赞 0 分享

一、获取安装包信息

复制代码 代码如下:
/**
* 获取apk包的信息:版本号,名称,图标等
* @param absPath apk包的绝对路径
* @param context 
*/ 
public void apkInfo(String absPath,Context context) { 

    PackageManager pm = context.getPackageManager(); 
    PackageInfo pkgInfo = pm.getPackageArchiveInfo(absPath,PackageManager.GET_ACTIVITIES); 
    if (pkgInfo != null) { 
        ApplicationInfo appInfo = pkgInfo.applicationInfo; 
        /* 必须加这两句,不然下面icon获取是default icon而不是应用包的icon */ 
        appInfo.sourceDir = absPath; 
        appInfo.publicSourceDir = absPath; 
        String appName = pm.getApplicationLabel(appInfo).toString();// 得到应用名 
        String packageName = appInfo.packageName; // 得到包名 
        String version = pkgInfo.versionName; // 得到版本信息 
        /* icon1和icon2其实是一样的 */ 
        Drawable icon1 = pm.getApplicationIcon(appInfo);// 得到图标信息 
        Drawable icon2 = appInfo.loadIcon(pm); 
        String pkgInfoStr = String.format("PackageName:%s, Vesion: %s, AppName: %s", packageName, version, appName); 
        Log.i(TAG, String.format("PkgInfo: %s", pkgInfoStr)); 
    } 
}

二、在APK安装的时候,我们可以获取安装包、版本、包名等信息。

复制代码 代码如下:

public class TestActivity extends Activity {
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  String archiveFilePath="sdcard/jb51.net.apk";//安装包路径
  PackageManager pm = getPackageManager();
   PackageInfo info = pm.getPackageArchiveInfo(archiveFilePath, PackageManager.GET_ACTIVITIES);
    if(info != null){
     ApplicationInfo appInfo = info.applicationInfo;
     String appName = pm.getApplicationLabel(appInfo).toString();
     String packageName = appInfo.packageName; //得到安装包名称
     String version=info.versionName; //得到版本信息
     // Toast.makeText(TestActivity.this, , Toast.LENGTH_LONG).show();
     Drawable icon = pm.getApplicationIcon(appInfo);//得到图标信息
     TextView tv = (TextView)findViewById(R.id.tv);
     tv.setText("appName:"+appName+"---packageName:"+packageName);
     //显示图标
     ImageView tu=(ImageView)findViewById(R.id.imageView1);
     tu.setBackgroundDrawable(icon);
    }
   }

  }
 }

}

更多精彩内容其他人还在看

android byte[] 和short[]转换的方法代码

这篇文章主要介绍了android byte[] 和short[]转换的方法代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

Android获取应用程序大小的方法

这篇文章主要介绍了Android获取应用程序大小的方法,有需要的朋友可以参考一下
收藏 0 赞 0 分享

Android获取其他包的Context实例代码

这篇文章主要介绍了Android获取其他包的Context实例代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

Android放大镜的实现代码

这篇文章主要介绍了Android放大镜的实现代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

Android 读取Properties配置文件的小例子

这篇文章主要介绍了Android 读取Properties配置文件的小例子,有需要的朋友可以参考一下
收藏 0 赞 0 分享

Android通讯录开发之删除功能的实现方法

这篇文章主要介绍了Android通讯录开发之删除功能的实现方法,有需要的朋友可以参考一下
收藏 0 赞 0 分享

使用ViewPager实现android软件使用向导功能实现步骤

现在的大部分android软件,都是使用说明,就是第一次使用该软件时,会出现向导,可以左右滑动,然后就进入应用的主界面了,下面我们就实现这个功能
收藏 0 赞 0 分享

android在异步任务中关闭Cursor的代码方法

android在异步任务中如何关闭Cursor?在我们开发应用的时候,很多时候会遇到这种问题,下面我们就看看代码如何实现
收藏 0 赞 0 分享

Android自定义桌面功能代码实现

android自定义桌面其实很简单,看一个例子就明白了
收藏 0 赞 0 分享

android将图片转换存到数据库再从数据库读取转换成图片实现代码

有时候我们想把图片存入到数据库中,尽管这不是一种明智的选择,但有时候还是不得以会用到,下面说说将图片转换成byte[]数组存入到数据库中去,并从数据库中取出来转换成图像显示出来
收藏 0 赞 0 分享
查看更多