通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下
PackageManager packageManager = this.getPackageManager();
List<PackageInfo> packageInfoList = packageManager.getInstalledPackages(0);
过以上方法,可以得到手机中安装的所有应用程序,既包括了手动安装的apk包的信息,也包括了系统预装的应用软件的信息,要区分这两类软件可使用以下方法:
a.从packageInfoList获取的packageInfo,再通过packageInfo.applicationInfo获取applicationInfo。
b.判断(applicationInfo.flags &
ApplicationInfo.FLAG_SYSTEM)的值,该值大于0时,表示获取的应用为系统预装的应用,反之则为手动安装的应用。
大家可以看下代码,说明已经写在注释中。
获取应用的代码:
/**
* 查询手机内非系统应用
* @param context
* @return
*/
public static List<PackageInfo> getAllApps(Context context) {
List<PackageInfo> apps = new ArrayList<PackageInfo>();
PackageManager pManager = context.getPackageManager();
//获取手机内所有应用
List<PackageInfo> paklist = pManager.getInstalledPackages(0);
for (int i = 0; i < paklist.size(); i++) {
PackageInfo pak = (PackageInfo) paklist.get(i);
//判断是否为非系统预装的应用程序
if ((pak.applicationInfo.flags & pak.applicationInfo.FLAG_SYSTEM) <= 0) {
// customs applications
apps.add(pak);
}
}
return apps;
}
获取图片、应用名、包名:
PackageManager pManager = MessageSendActivity.this.getPackageManager();
List<PackageInfo> appList = Utils.getAllApps(MessageSendActivity.this);
for(int i=0;i<appList.size();i++) {
PackageInfo pinfo = appList.get(i);
ShareItemInfo shareItem = new ShareItemInfo();
//set Icon
shareItem.setIcon(pManager.getApplicationIcon(pinfo.applicationInfo));
//set Application Name
shareItem.setLabel(pManager.getApplicationLabel(pinfo.applicationInfo).toString());
//set Package Name
shareItem.setPackageName(pinfo.applicationInfo.packageName);
}
分享到:
相关推荐
### 获取手机中已安装的APK文件信息 在Android开发中,经常需要获取手机中已安装的应用信息,例如为了提供给用户一个应用列表或者检查某些特定应用是否已经安装等场景。下面将详细介绍如何通过Android系统提供的`...
在Android系统中,开发者或用户有时需要获取已安装应用程序的包名(Package Name)和SHA1证书指纹(SHA1 Fingerprint)信息。这些信息在多种场景下非常有用,例如,当进行应用签名验证、集成第三方服务或者配置权限...
在Android系统中,获取手机中已安装的APK文件信息是一项常见的需求,这通常涉及到对设备上所有应用程序的管理和分析。`PackageManager`是Android提供的一个关键服务,它允许开发者获取到设备上安装的所有应用的信息...
在PHP环境中,我们可能需要获取APK文件的一些元数据信息,例如包名、应用名称、版本名称、支持的屏幕尺寸和语言等。这在自动化部署、应用分析或者构建与APK相关的服务时非常有用。以下是如何使用PHP来实现这些功能的...
在Android系统中,获取本机已安装的APK(应用程序)信息是一项常见的需求,这有助于开发者分析设备上的应用状态,或者实现类似应用管理的功能。本文将深入探讨如何通过编程方式获取这些信息,主要关注Java和Kotlin两...
在Java编程环境中,获取APK文件的包名和版本信息是一项常见的需求,特别是在自动化测试、应用管理或数据分析等场景中。APK是Android应用程序的安装包,它包含了应用的所有组件和资源。要从APK文件中提取这些元数据,...
APK文件的核心信息存储在`AndroidManifest.xml`中,包括包名、版本信息等。我们可以通过`ZipFile`对象的`getEntry()`方法获取到这个XML文件的`ZipEntry`对象,然后使用`ZipInputStream`来读取其内容。 3. **解析...
在Android平台上,获取手机上所有APK包名的需求通常是用于分析设备上安装的应用程序信息,例如统计应用数量、分析特定应用是否存在或者进行批量操作。这个过程涉及到对Android系统的权限访问以及对文件系统的操作。...
为了在后台系统或者自动化脚本中获取这些应用的配置信息,如包名、版本号、应用名称等,开发者通常需要借助特定的工具或库。在这个场景下,"Java获取ipa、apk文件配置信息jar包"提供了这样的功能,它是一个Java库,...
python aapt 分析APK文件,获取应用包名,版本号,版本名 代码直接复制即可,亲测多次可用,
综上所述,获取Android设备上已安装应用的信息主要依赖于`PackageManager`类,通过解析`PackageInfo`对象,我们可以获取到应用的图标、名称、包名和安装路径等关键信息。在编写代码时,记得处理好权限和版本兼容性...
而当涉及到与Android平台的交互时,C#也能通过各种手段实现,例如使用Unity3D进行跨平台开发或利用特定的库来获取APK(Android应用程序包)的信息。本篇文章将深入探讨如何使用C#获取安卓APK的各类信息,如版本号、...
**获取APK包名:** 1. **通过adb命令行**:在终端或命令提示符中,可以使用`adb shell pm list packages`命令来列出所有已安装的应用包名。若需查询特定应用,可以加上 `-f` 参数,如`adb shell pm list packages -f...
在Android应用开发中,了解APK包名和签名信息是非常重要的。APK包名是应用程序的唯一标识,而MD5和SHA1则是用于验证APK文件完整性和安全性的哈希值。下面,我们将深入探讨这两个批处理脚本——`getPackageName.bat` ...
在Android开发过程中,有时我们需要获取APK包的相关信息,如包名、版本代码(versionCode)、版本名称(versionName)等。这些信息对于版本管理和应用更新检查至关重要。本篇文章将详细解析如何使用Java来获取未安装...
本主题将深入探讨如何使用Java来获取APK文件的相关信息,包括包名、版本、权限、图标以及启动图等关键元数据。这些信息对于理解和管理Android应用至关重要。 首先,我们从获取APK的包名开始。包名在Android中是应用...
标题中的“APK包名查看器”是一款专用于查看Android应用程序(APK)包名的工具,它允许用户在电脑上无需安装额外的管理软件就能获取APK的相关信息。描述中提到,用户通常可能需要这样的工具来快速查看APK的包名,而...
在Android开发和软件测试中,了解如何获取APK的包名和主类名是一项重要的技能。这有助于测试人员定位应用程序的标识以及启动它的主要入口点。以下是对这一主题的详细阐述: 首先,APK包名是Android应用的唯一标识符...
在命令行中,你可以使用以下命令来获取已安装应用的包名: ```bash adb shell pm list packages -f | grep <应用名> ``` 这里替换`<应用名>`为你的应用名称,会显示出对应包名。 另一种方式是通过反编译APK获取。...
在Android开发中,获取第三方APK的包名、启动类名以及图标是常见的需求,尤其在应用管理和自动化测试等领域。这个名为"获取第三方apk的包名启动类名icon.rar"的压缩包文件提供了相关的代码资源,尽管可能并非所有...