实际上在Android中可以获得已经安装的应用程序的各种信息(虽然在我的应用程序中只需要获得ICON即可),比如:名称,版本,包等,不仅仅只是图标。

首先,可以创建一个用于存放应用程序信息的类结构。代码如下:

        
  1. classAppInfo{
  2. privateintversionCode=0;
  3. //名称
  4. privateStringappname="";
  5. //包
  6. privateStringpackagename="";
  7. privateStringversionName="";
  8. //图标
  9. privateDrawableappicon=null;
  10. }

然后可以通过getPackageManager()函数获得PackageManager对象,而PackageManager中提供了getInstalledPackages函数可以获得已经安装的应用程序包。会返回所有已经安装的应用程序的列表。

然后通过如下代码取出所需要的信息即可。

        
  1. ArrayList<AppInfo>appList=newArrayList<AppInfo>();
  2. List<PackageInfo>packages=getPackageManager().getInstalledPackages(0);
  3. for(inti=0;i<packages.size();i++){
  4. PackageInfopackageInfo=packages.get(i);
  5. AppInfotmpInfo=newAppInfo();
  6. tmpInfo.appname=packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
  7. tmpInfo.packagename=packageInfo.packageName;
  8. tmpInfo.versionName=packageInfo.versionName;
  9. tmpInfo.versionCode=packageInfo.versionCode;
  10. tmpInfo.appicon=packageInfo.applicationInfo.loadIcon(getPackageManager());
  11. appList.add(tmpInfo);
  12. }

需要注意:getInstalledPackages函数将会获得所有已经安装的应用程序,包括系统应用程序,如果要过滤系统应用程序,可以通过“packageInfo.versionName == null”来判断。

更多相关文章

  1. [原]Android应用程序组件Content Provider应用实例
  2. android调用高版本api函数的兼容性问题
  3. Android O system函数执行reboot命令失败
  4. Android下使用dlopen函数动态调用.so链接库 [转]
  5. Android应用程序App应用上线流程
  6. 【Android初学者】超简单的注册页面,填写完整信息实现 跳转 和 传
  7. Android应用程序组成

随机推荐

  1. android上传文件至服务器
  2. Android的Spinner组件的XML属性(备查)
  3. 修改进度条ProgressBar颜色
  4. Android创建和删除桌面快捷方式
  5. Android(安卓)PinnedSectionListView异常
  6. android spinner下拉选择框
  7. Android(安卓)Spinner控件之键值对用法
  8. Android(安卓)应用退出的几种方法
  9. OpenFrameworks + kinect + Android项目
  10. android中的Sqlite数据库操作