Android得到已安装的应用程序信息!
16lz
2021-01-23
实际上在Android中可以获得已经安装的应用程序的各种信息(虽然在我的应用程序中只需要获得ICON即可),比如:名称,版本,包等,不仅仅只是图标。
首先,可以创建一个用于存放应用程序信息的类结构。代码如下:
- classAppInfo{
- privateintversionCode=0;
- //名称
- privateStringappname="";
- //包
- privateStringpackagename="";
- privateStringversionName="";
- //图标
- privateDrawableappicon=null;
- }
然后可以通过getPackageManager()函数获得PackageManager对象,而PackageManager中提供了getInstalledPackages函数可以获得已经安装的应用程序包。会返回所有已经安装的应用程序的列表。
然后通过如下代码取出所需要的信息即可。
- ArrayList<AppInfo>appList=newArrayList<AppInfo>();
- List<PackageInfo>packages=getPackageManager().getInstalledPackages(0);
- for(inti=0;i<packages.size();i++){
- PackageInfopackageInfo=packages.get(i);
- AppInfotmpInfo=newAppInfo();
- tmpInfo.appname=packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
- tmpInfo.packagename=packageInfo.packageName;
- tmpInfo.versionName=packageInfo.versionName;
- tmpInfo.versionCode=packageInfo.versionCode;
- tmpInfo.appicon=packageInfo.applicationInfo.loadIcon(getPackageManager());
- appList.add(tmpInfo);
- }
需要注意:getInstalledPackages函数将会获得所有已经安装的应用程序,包括系统应用程序,如果要过滤系统应用程序,可以通过“packageInfo.versionName == null”来判断。
更多相关文章
- [原]Android应用程序组件Content Provider应用实例
- android调用高版本api函数的兼容性问题
- Android O system函数执行reboot命令失败
- Android下使用dlopen函数动态调用.so链接库 [转]
- Android应用程序App应用上线流程
- 【Android初学者】超简单的注册页面,填写完整信息实现 跳转 和 传
- Android应用程序组成