我们大家都知道在手机上我们可以查看图标来知道我们都安装了什么样的应用,但实际上载Android中我们可以获得你安装应用的各种信息,(虽然在我的应用程序中只需要获得ICON即可),比如:名称,版本,包等,不仅仅只是图标。这样的话,给我们就带来了和多的方便,如果长时间不用的话,在查看时我们能在很快的时间里来知道这个应用是干什么的。我们也可以马上判断一下我们现在是否还有得到这个应用,用得到的话我们就留着,如果用不到的话我们就马上下载这个应用,卸载了以后会给手机释放了很大的内存,这样对手机也是非常好的,手机的反应也会变快一些。
我们首先,可以创建一个用于存放应用程序信息的类结构。我们必须写这个,要不我们就不会看见你想要的信息,那么我们就来看看,代码如下:
class AppInfo {
private int versionCode = 0;
//名称
private String appname = "";
//包
private String packagename = "";
private String versionName = "";
//图标
private Drawable appicon = null;
}
上面的代码我们就写了名称、包、还有图标,如果你想写别的话,你也可以自己写很多关于这个应用的信息。在这里我就不一一给大家写了。我们主要就是这三种。
然后可以通过getPackageManager()函数获得PackageManager对象,而PackageManager中提供了getInstalledPackages函数可以获得已经安装的应用程序包。会返回所有已经安装的应用程序的列表。
我们然后通过如下代码取出所需要的信息即可。
ArrayList<AppInfo> appList = new ArrayList<AppInfo>();
List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);
for(int i=0;i<packages.size();i++) {
PackageInfo packageInfo = packages.get(i);
AppInfo tmpInfo = new AppInfo();
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);
}
在这里我们用到了for循环,这个主要的意思是用循环来把所有的软件给显示出来。这里主要的是实例化一下ArrayList<AppInfo> appList = new ArrayList<AppInfo>();如果不实例化的话你不会被调用,这样的话ArrayList<AppInfo>这个数组中的软件就不会不显示出来。大家一定要记住了。我们得先实例化一下,再用循环。
我们需要注意的是:getInstalledPackages函数将会获得所有已经安装的应用程序,包括系统应用程序,这时你就要小心一些了,因为你要记住哪些是系统的应用。如果你要是把系统的软件给删了的话,那就得从新安装,这样会对我们很麻烦。如果要过滤系统应用程序,可以通过“packageInfo.versionName == null”来判断。这样的话对我们就方便很多了,因为这样你就不会怕把系统自带的软件给删除了。但在这里我就不多说了,大家回去自己试试看。
分享到:
相关推荐
在Android应用中,`PackageManager`服务是负责管理所有已安装应用的核心组件。我们需要在代码中通过`Context`对象获取它,如下所示: ```java PackageManager packageManager = getApplicationContext()....
### Android应用程序开发知识点详解 #### 一、Android概述 Android是一种基于Linux内核的开源移动设备操作系统,由Google公司和开放手机联盟领导及开发。它主要用于触摸操作的手持设备上,如智能手机和平板电脑等...
《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf《Android应用...
在Android系统中,获取应用程序列表信息是开发过程中常见的需求,比如构建应用管理界面或实现某些特定功能。以下将详细介绍如何通过编程方式实现这四个主要目标: 1. **Android中获取所有应用程序列表信息** 要...
Android开发,获取当前手机安装的所有应用、根据包名获取应用信息、获取当前应用程序的包名、获取程序 图标、获取程序的版本号、获取程序的名字、获取程序的权限、获取程序的签名、获取当前包名的 SHA1、将获取到得...
1. AndroidManifest.xml 文件:AndroidManifest.xml 文件是 Android 应用程序的配置文件,用于描述应用程序的信息、权限、组件等。 2. Activity:Activity 是 Android 应用程序的主要组件,负责处理用户界面和用户...
首先,需要确保你的应用程序具备访问已安装应用信息的权限。这通常意味着需要在`AndroidManifest.xml`文件中添加以下权限声明: ```xml <uses-permission android:name="android.permission.GET_PACKAGES"/> ``...
《Android应用程序开发教程(第2版)》教学课件01Android系统与开发环境.pdf《Android应用程序开发教程(第2版)》教学课件01Android系统与开发环境.pdf《Android应用程序开发教程(第2版)》教学课件01Android系统与开发...
资源名称:Android经典应用程序开发内容简介:韩超编著的《Android经典应用程序开发》内容理论联系实际,系统化组织。全书由8章组成,涵盖了Android经典应用程序开发的各个方面,知识量巨大,技术要点清晰,结构紧凑...
本文将详细讲解如何利用`PackageManager`来获取Android应用程序(包)的相关信息。 首先,让我们理解`PackageManager`的基本概念。它是Android系统服务的一部分,允许应用程序访问和操作其他已安装的应用程序的元...
首先,需要通过菜单创建 Android 应用程序,设置应用程序名、Android 版本等基本信息。 其次,需要编写应用程序的 Java 代码,包括 Activity、服务、广播接收器等组件。 最后,需要运行应用程序,通过模拟器或...
《Android应用程序开发(第三版)》是由王向辉、张国印、沈洁三位专家编著的教材,这本书深入浅出地介绍了Android平台上的应用开发技术。课件源程序是学习此书的重要辅助资料,提供了丰富的实例和练习,帮助读者更好...
在Android操作系统中,应用程序管理器是一种工具,它允许用户对手机上的应用进行一系列高级操作,包括但不限于查看、备份、卸载以及提取已安装应用的文件。"可以提取已安装应用文件的应用程序管理器"就是这样一款...
Android Studio是Google推出的一个集成开发环境(IDE),它提供了一个功能强大且灵活的开发环境,用于开发Android应用程序。在本文中,我们将介绍如何使用Android Studio实现一个简单的考试应用程序实例代码。 ...
Android应用程序apk安装器程序是一种工具,它允许用户在Android设备上方便快捷地安装APK文件。APK是Android应用的二进制格式,相当于iOS中的ipa文件,是开发者完成应用程序开发后编译打包的产物。当用户从非Google ...
Android应用程序安装工具是一款专为Android系统设计的便捷软件,它能够帮助用户轻松地在设备上安装APK文件。这款工具采用C#编程语言编写,因此需要用户计算机上预先安装.NET Framework,这是一个由微软开发的运行时...
《21世纪高等学校计算机基础实用规划教材:Android应用程序设计》是面向Android系统的初学者的入门教程,内容几乎涵盖了Android相关的所有技术。本书大致可以分成两个部分,第一部分(第1~4章)主要介绍Android SDK...
Lazarus开发Android应用程序的过程,从环境配置到应用的编译、生成APK文件,再到测试安装,整体操作简洁明了,适合希望快速开始Android应用开发的Pascal语言开发者。这种跨平台的开发方式有助于开发者利用已有的...
目前市场占有率很高,而Android应用开发则是通过使用Android软件开发套件(Android Software Development Kit,简称Android SDK)的工具和技术,制作各种Android应用程序。 基本上,Android应用程序可以分为本地应用...
它允许开发者在无需真实设备的情况下测试和调试Android应用程序。本文将详细介绍如何在Android模拟器上进行应用程序的安装与卸载操作。 #### 二、Android模拟器简介 Android模拟器是Android SDK的一部分,提供了一...