获取手机所有应用程序的信息
来源:互联网 发布:瓷砖上铺木地板 知乎 编辑:程序博客网 时间:2024/05/16 08:35
在对手机软件进行管理的时候,我们常常需要知道手机软件的一些基本信息,如应用程序的类型、位置、uid等等,才好作出相应的操作。
以下是获取手机所有安装软件的关键代码:
/** * 应用程序信息的实体类 */public class AppInfo {private Drawable icon;private String name;private String packname;private boolean inRom;private boolean userApp;private int uid;public int getUid() {return uid;}public void setUid(int uid) {this.uid = uid;}public Drawable getIcon() {return icon;}public void setIcon(Drawable icon) {this.icon = icon;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPackname() {return packname;}public void setPackname(String packname) {this.packname = packname;}public boolean isInRom() {return inRom;}public void setInRom(boolean inRom) {this.inRom = inRom;}public boolean isUserApp() {return userApp;}public void setUserApp(boolean userApp) {this.userApp = userApp;}@Overridepublic String toString() {return "AppInfo [name=" + name + ", packname=" + packname + ", inRom="+ inRom + ", userApp=" + userApp + "]";}}
/** * 业务方法,提供手机里面安装的所有的应用程序信息 */public class AppInfoProvider {/** * 获取所有的安装的应用程序信息。 * @param context 上下文 * @return */public static List<AppInfo> getAppInfos(Context context){PackageManager pm = context.getPackageManager();//所有的安装在系统上的应用程序包信息。List<PackageInfo> packInfos = pm.getInstalledPackages(0);List<AppInfo> appInfos = new ArrayList<AppInfo>();for(PackageInfo packInfo : packInfos){AppInfo appInfo = new AppInfo();//packInfo 相当于一个应用程序apk包的清单文件String packname = packInfo.packageName;Drawable icon = packInfo.applicationInfo.loadIcon(pm);String name = packInfo.applicationInfo.loadLabel(pm).toString();int flags = packInfo.applicationInfo.flags; //应用程序信息的标记 相当于用户提交的答卷int uid = packInfo.applicationInfo.uid; //操作系统分配给应用系统的一个固定的编号。一旦应用程序被装到手机 id就固定不变了。//File rcvfile = new File("/proc/uid_stat/"+uid+"/tcp_rcv");//File sndfILE = new File("/proc/uid_stat/"+uid+"/tcp_snd");appInfo.setUid(uid);if((flags&ApplicationInfo.FLAG_SYSTEM)==0){//用户程序appInfo.setUserApp(true);}else{//系统程序appInfo.setUserApp(false);}if((flags&ApplicationInfo.FLAG_EXTERNAL_STORAGE)==0){//手机的内存appInfo.setInRom(true);}else{//手机外存储设备appInfo.setInRom(false);}appInfo.setPackname(packname);appInfo.setIcon(icon);appInfo.setName(name);appInfos.add(appInfo);}return appInfos;}}
0 0
- 获取手机所有应用程序的信息
- 获取手机内所有应用程序相关信息的方法
- 获取手机里面的所有的应用程序
- 获取手机中安装的所有应用程序
- 获取手机中安装的所有应用程序
- 获取手机中安装的所有应用程序
- 获取手机中安装的所有应用程序
- 获取手机中安装的所有应用程序
- 获取手机中通讯录的所有信息
- Android获取手机内应用程序的信息
- 获取手机内所有应用程序
- Android之获取手机上已安装的所有的应用程序的信息,并判断是否安装了某应用程序(系统程序或非系统应用程序判断)
- Android ListView的使用优化以及获取手机所有应用程序
- 获取所有安装在手机上的应用软件的信息
- 获取手机已经安装的所有App的信息
- 获取手机中所有apk相关信息的工具类
- Android笔记:获取手机所有应用程序
- 获取应用程序所有安装包信息
- Android三步显示gif动态图片
- 程序设计语言(脑图)
- 关于小公司的空降兵和空降兵的出路
- 关于APK第一次安装后按Home键出现的问题
- 鸟哥笔记——关于变量的基本配置
- 获取手机所有应用程序的信息
- 编写函数计算n的阶乘(n<10),n为函数参数。在main函数中调用该函数计算1!+2!+……+n!
- Android 4.4 Kitkat Phone工作流程浅析(一)__概要和学习计划
- 【脱光】最具实践性的六种找男朋友的方法
- struts2中s:select list标签的使用
- django笔记
- 计算机体系结构与主要硬件组成(脑图)
- 自定义spinner
- Spring提供了编写DAO的支持类