java实现获取安卓设备里已安装的软件包
作者:hebedich 发布时间:2022-10-21 00:53:04
标签:java,安卓,软件包
之前的文章向大家介绍了几个项目中常用的实用功能,那么在这篇文中,我将向大家介绍如何获取Android手机中已经安装的手机应用程序,好了,废话不多说,直接上代码
private String getInstalledAppListAsString(){
PackageManager pm = context.getPackageManager();
List<ApplicationInfo> apps = pm.getInstalledApplications(PackageManager.GET_GIDS);
StringBuffer stringBuffer = new StringBuffer();
for (ApplicationInfo app : apps) {
if(pm.getLaunchIntentForPackage(app.packageName) != null) {
// apps with launcher intent
if((app.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 1) {
// updated system apps
} else if ((app.flags & ApplicationInfo.FLAG_SYSTEM) == 1) {
// system apps
} else {
// user installed apps
stringBuffer.append(app.packageName).append(';');
}
}
}
return stringBuffer.toString();
}
下面我们看看具体如何获取各个应用的相关信息呢
package cn.lyz.mobilesafe.domain;
import android.graphics.drawable.Drawable;
/**
* 获取的应用基本信息实体类
* @author liuyazhuang
*
*/
public class AppInfo {
//图标
private Drawable app_icon;
//应用名称
private String app_name;
//应用版本号
private String app_version;
//应用包名
private String packagename;
//是否是用户app
private boolean isUserApp;
public AppInfo() {
super();
// TODO Auto-generated constructor stub
}
public AppInfo(Drawable app_icon, String app_name, String app_version,
String packagename) {
super();
this.app_icon = app_icon;
this.app_name = app_name;
this.app_version = app_version;
this.packagename = packagename;
}
public AppInfo(Drawable app_icon, String app_name, String app_version,
String packagename, boolean isUserApp) {
super();
this.app_icon = app_icon;
this.app_name = app_name;
this.app_version = app_version;
this.packagename = packagename;
this.isUserApp = isUserApp;
}
public Drawable getApp_icon() {
return app_icon;
}
public void setApp_icon(Drawable app_icon) {
this.app_icon = app_icon;
}
public String getApp_name() {
return app_name;
}
public void setApp_name(String app_name) {
this.app_name = app_name;
}
public String getApp_version() {
return app_version;
}
public void setApp_version(String app_version) {
this.app_version = app_version;
}
public String getPackagename() {
return packagename;
}
public void setPackagename(String packagename) {
this.packagename = packagename;
}
public boolean isUserApp() {
return isUserApp;
}
public void setUserApp(boolean isUserApp) {
this.isUserApp = isUserApp;
}
@Override
public String toString() {
return "AppInfo [app_icon=" + app_icon + ", app_name=" + app_name
+ ", app_version=" + app_version + ", packagename="
+ packagename + ", isUserApp=" + isUserApp + "]";
}
}


猜你喜欢
- 本文实例讲解了Android自动提取短信验证码解决方案,分享给大家供大家参考,具体内容如下主要功能及优点1.收到验证码短信后,自动提取短信中
- 1 概念方面List是接口,ArrayList是List接口的一个实现类2 初始化方面2.1 List2.1.1 错误写 * ist list
- 定义:当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。特
- 简介Spring Security,这是一种基于 Spring AOP 和 Servlet 过滤器的安全框架。它提供全面的安全性解决方案,同
- Android自定义控件属性详细介绍1. reference:参考某一资源ID。
- Android WebView 1.首先修改activity.xml中的代码:2.然后MainActivity中的代码:3.最后设置权限:&
- 一、多媒体应用架构1.1 音视频传统应用架构通常,传统的播放音频或视频的多媒体应用由两部分组成:播放器:用于吸收数字媒体并将其呈现为视频和/
- 本文实例为大家分享了java实现多个文件压缩的具体代码,供大家参考,具体内容如下需要用到的ant.jarpackage util;impor
- 运算符运算符,顾名思义就是用来执行数学运算的。在Java中运算符可以分为:算术运算符、关系运算符、逻辑运算符、位运算符、移位运算符、条件运算
- 一:串口通信简介前段时间因为工作需要研究了一下android的串口通信,网上有很多讲串口通信的文章,我在做的时候也参考了很多文章,现在就将我
- HttpWebRequest 是一个Http 请求类,继承于 WebRequest。WebRequest 是一个抽象类,能够对统一资源标识符
- 今天的几个目标: 1. 自定义ActionProvider 2. Toolbar ActionBar自定义Menu 3. Toolbar A
- 因为目前所用mybatis-plus版本为3.1.1,感觉是个半成品,所有在实体类上的注解只能支持单表,没有一对一和一对多关系映射,且该功能
- 归并排序原理1.尽可能的一组数据拆分成两个元素相等的子组,并对每一个子组继续拆分,直到拆分后的每个子组的元素个数是1为止。⒉将相邻的两个子组
- 1.前言(基于JDK1.7)最近想把一些java基础的东西整理一下,但是又不知道从哪里开始!想了好久,还是从最基本的jvm开始吧!这一节就简
- Logback日志基础配置logback日志配置有很多介绍,但是有几个非常基础的,容易忽略的。下面是最简单的一个配置,注意加粗的描述<
- init_output_stream() 是一个公共的函数,无论是音频,还是视频的输出流的初始化,都是通过它来完成的。init_o
- Main方法如下:static void Main(string[] args){ dynamic st
- java中多种方式读文件 一、多种方式读文件内容。 1、按字节读取文件内容 2、按字符读取文件内容 3、按行读取文件内容 4、随机读取文件内
- 一些初学Android的朋友可能会遇到JAVA的数据类型之间转换的苦恼,例如,整数和float,double型之间的转换,整数和String