得到用户安装的app信息

来源:互联网 发布:如何理解汉诺塔算法 编辑:程序博客网 时间:2024/05/23 12:14
package com.study.mobilesafe.engine;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.content.pm.ApplicationInfo;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.graphics.drawable.Drawable;import com.study.mobilesafe.domain.AppInfo;public class AppProvider {/** * 得到用户安装的app信息 * @param context * @return */public static List<AppInfo> getAppInfos(Context context) {List<AppInfo> infos = new ArrayList<AppInfo>();PackageManager manager = context.getPackageManager();List<PackageInfo> installedPackages = manager.getInstalledPackages(0);for (PackageInfo packageInfo : installedPackages) {String packageName = packageInfo.packageName;String versionName = packageInfo.versionName;//加载Application节点ApplicationInfo applicationInfo = packageInfo.applicationInfo;//来到application节点String name = applicationInfo.loadLabel(manager).toString();Drawable icon = applicationInfo.loadIcon(manager);//获取是不是用户程序boolean isUser;int flags = applicationInfo.flags;//获取应用程序的标签if ((flags&ApplicationInfo.FLAG_SYSTEM) == ApplicationInfo.FLAG_SYSTEM) {//系统程序isUser = false;}else{isUser = true;}boolean isRom;if ((flags&ApplicationInfo.FLAG_EXTERNAL_STORAGE)==ApplicationInfo.FLAG_EXTERNAL_STORAGE) {isRom = false;}else{isRom = true;}AppInfo info = new AppInfo(name, packageName, versionName, icon,isUser,isRom);infos.add(info);}return infos;}}

0 0
原创粉丝点击