通过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);
}
分享到:
相关推荐
Android 获取手机中已安装apk文件信息
python aapt 分析APK文件,获取应用包名,版本号,版本名 代码直接复制即可,亲测多次可用,
java通过上传文件的方式,根据文件APK来获取应用apk的包名,版本号等信息。全部封闭成名,操作起来非常的方便,如有疑问可以在下面留言!
不用android类库,只是在纯java环境下从apk文件中获取应用程序的名称。
可以获取安卓系统下,所有软件的包名与类名,用于安卓桥接开发很有帮助,是个很不错的安卓脚本开发工具.直接打开即可使用,真机与模拟器均可使用
这是Java获取ipa、apk文件配置信息所需要的jar包,用于获取 app 的配置信息,比如:包名,版本号,应用名称等等。
android 应用签名工具,微信开放平台要求填写签名,获取手机应用的数字签名,用于对当前应用进行二次身份校验,开发者可以使用签名生成工具直接从安装当前应用的手机中获取。应用签名由开发者签名该应用的keystore...
本工程实例是展示如何在纯java环境下获取android应用程序安装包(apk文件)的包名、最小sdk版本、版本号、权限等等配置信息。
使用adb命令批处理安装卸载apk ...这里使用的方法是:先用winrar从apk文件中提取出AndroidManifest.xml文件,然后用AXMLPrinter2.jar 把AndroidManifest.xml文件转换成标准的xml文本,然后从这个xml文本中读取出包名。
获取包名,版本名,版本号,文件MD5,打包时间 查壳功能,支持获取爱加密,360加固,梆梆加固,阿里云加固,腾讯乐固,百度加固,娜迦加固,顶象加固,通付盾,网秦,几维加固等壳信息 支持提取高清图标 支持...
获取包名,版本名,版本号,文件MD5 查壳功能,支持获取爱加密,360加固,梆梆加固,阿里云加固,腾讯乐固,百度加固,娜迦加固,顶象加固,通付盾,网秦,几维加固等壳信息 支持提取高清图标 支持提取APK对应的权限...
前提是已设置ANDROID_HOME环境变量,使用aapt工具获取apk的信息,保存至脚本所在目录下的PackageInfo.txt文件中: import os import tempfile import re tempFile = tempfile.gettempdir() def get_aapt(): if ...
琢磨了半天,说可以用Root Explorer在/data/app目录下找的安装包,可是他的手机又没有ROOT。好吧,这个想法就这么来了,而且实现起来也很简单,两下功夫就做完了。 原文:...
APK信息APK-Info是一个Windows工具,用于获取有关apk文件的详细信息。 该应用最初由ZoSTeR创建,并发布在然后由jazzruby更新,这是的然后由bovirus更新,这是的 允许您查看: 应用程序图标包裹名字名称(所有语言) ...
OPPO获取应用SignAPK,用于OPPO平台创建应用
主要介绍了Android简单判断某个APK是否已经安装的方法,通过针对应用程序包名的读取及判断获取安装信息,需要的朋友可以参考下
内含一个获取android应用包名的代码实现的apk,以及通过adb安装和卸载该apk的bat批处理文件,为了能够运行adb,还还有adb的纯净版本。手机连接电脑,打开开发者模式即可使用
利用反射和AIDL技术获取app的包大小\缓存大小\数据大小
Flutter AppAvailability插件Flutter插件,可让您检查是否已安装/启用应用程序,启动应用程序并获取已安装的Flutter AppAvailability插件。Flutter插件可让您检查是否已安装/启用应用程序,然后启动应用程序。应用并...
有些时候我们手机上安装好用的app,但后来找不到下载链接了,又想分享给好朋友,就可以用此应用将手机上安装的app安装包文件(.apk)保存到手机本地,然后用其他文件分享工具将安装包分享给好友安装,使用需开启存储...