博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android之获取手机安装包里面的信息、获取目录空间的大小
阅读量:4290 次
发布时间:2019-05-27

本文共 2239 字,大约阅读时间需要 7 分钟。

public class RuanjianmanagerInfo extends Object {    private Drawable  icon;//图标    private String name;//标题    private String packname;    private boolean inRom;//是否在内部存储中    private boolean userApp;//是否是系统应用    public Drawable getIcon() {        return icon;    }    public String getName() {        return name;    }    public String getPackname() {        return packname;    }    public boolean isInRom() {        return inRom;    }    public boolean isUserApp() {        return userApp;    }    public void setIcon(Drawable icon) {        this.icon = icon;    }    public void setName(String name) {        this.name = name;    }    public void setPackname(String packname) {        this.packname = packname;    }    public void setInRom(boolean inRom) {        this.inRom = inRom;    }    public void setUserApp(boolean userApp) {        this.userApp = userApp;    }}
* 获取某个目录的可用空间    *    * */    private long getAvailabelSpace(String path) {        StatFs statf = new StatFs(path);        statf.getBlockCount();//获取分区的个数        long size = statf.getBlockSize();//获取分区的大小        long count = statf.getAvailableBlocks();//获取可用分区的个数        return size * count;    }
/** * Created by wofu on 2018/4/25. * 业务方法,提供手机里面所有安装信息 */public  class RuanjianManagerInfoProvide {    private static List
ruanjianmanagerInfos; public static List
getInfos(Context context){ PackageManager pm=context.getPackageManager();List
packageInfos=pm.getInstalledPackages(0); ruanjianmanagerInfos = new ArrayList
();for(PackageInfo packinfo:packageInfos){ //packinfo相当于一个apk包的清单文件 String packname=packinfo.packageName;// 获取包名 Drawable ico=packinfo.applicationInfo.loadIcon(pm);//获取icon String name=packinfo.applicationInfo.loadLabel(pm).toString();//app名//判断应用的来源和安装位置 int flags=packinfo.applicationInfo.flags;//应用程序信息标记 if((flags&ApplicationInfo.FLAG_SYSTEM)==0){//用户程序 }else {//系统程序 } if((flags&ApplicationInfo.FLAG_EXTERNAL_STORAGE)==0){//手机内存 }else {//手机外存储设备 } RuanjianmanagerInfo info=new RuanjianmanagerInfo(); info.setPackname(packname); info.setIcon(ico); info.setName(name); ruanjianmanagerInfos.add(info);}return ruanjianmanagerInfos; }}

转载地址:http://etmgi.baihongyu.com/

你可能感兴趣的文章
epoll 边沿触发
查看>>
String类 默认生成的函数
查看>>
Linux 软连接与硬链接
查看>>
视音频数据处理入门:H.264视频码流解析
查看>>
视音频数据处理入门:AAC音频码流解析
查看>>
视音频数据处理入门:UDP-RTP协议解析
查看>>
视音频数据处理入门:FLV封装格式解析
查看>>
最简单的基于FFMPEG的封装格式转换器(无编解码)
查看>>
base64 编码原理
查看>>
单链表是否有环的问题
查看>>
判断两个链表是否相交并找出交点
查看>>
归并排序
查看>>
STL常见问题
查看>>
time_wait和close_wait状态
查看>>
STL中vector、list、deque和map的区别
查看>>
Linux下多线程查看工具(pstree、ps、pstack)
查看>>
PID PPID LWP NLWP
查看>>
查看线程CPU占用情况
查看>>
查看个线程的CPU 内存占用
查看>>
Fiddler 教程
查看>>