Android获取应用列表

来源:互联网 发布:风险矩阵法的作用 编辑:程序博客网 时间:2024/05/21 22:21

Android获取应用列表

/** * 获取APP应用列表(包含系统自带应用) * * @param context */public ArrayList<ApplicationPO> getAppList(Context context) {    //用来存储获取的应用信息数据    ArrayList<ApplicationPO> appList = new ArrayList<ApplicationPO>();    PackageManager packageManager = context.getPackageManager();    List<PackageInfo> packages = packageManager.getInstalledPackages(0);    for (int i = 0; i < packages.size(); i++) {        PackageInfo packageInfo = packages.get(i);        ApplicationPO app = new ApplicationPO();        app.setApp_name(packageInfo.applicationInfo.loadLabel(context.getPackageManager()).toString());        app.setPackage_name(packageInfo.packageName);        //packageInfo.versionCode        app.setVersion(packageInfo.versionName);        app.setTimestamp(packageInfo.firstInstallTime + "");        appList.add(app);    }    return appList;}/** * 获取APP应用列表(不包含系统自带应用) * * @param context */public ArrayList<ApplicationPO> getSimpleAppList(Context context) {    //用来存储获取的应用信息数据    ArrayList<ApplicationPO> appList = new ArrayList<ApplicationPO>();    PackageManager packageManager = context.getPackageManager();    List<PackageInfo> packages = packageManager.getInstalledPackages(0);    for (int i = 0; i < packages.size(); i++) {        PackageInfo packageInfo = packages.get(i);        //过滤系统应用        if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {            ApplicationPO app = new ApplicationPO();            app.setApp_name(packageInfo.applicationInfo.loadLabel(context.getPackageManager()).toString());            app.setPackage_name(packageInfo.packageName);            //packageInfo.versionCode            app.setVersion(packageInfo.versionName);            app.setTimestamp(packageInfo.firstInstallTime + "");            appList.add(app);        }    }    return appList;}
public class ApplicationPO {    /** 应用名称 */    private String app_name;    /** 应用包名 */    private String package_name;    /** 版本 */    private String version;    /** 安装时间  */    private String timestamp;    public String getApp_name() {        return app_name;    }    public void setApp_name(String app_name) {        this.app_name = app_name;    }    public String getPackage_name() {        return package_name;    }    public void setPackage_name(String package_name) {        this.package_name = package_name;    }    public String getVersion() {        return version;    }    public void setVersion(String version) {        this.version = version;    }    public String getTimestamp() {        return timestamp;    }    public void setTimestamp(String timestamp) {        this.timestamp = timestamp;    }}