android 获取 安装目录,android之获取手机安装包里面的信息、获取目录空间的大小...

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 ListruanjianmanagerInfos;

public static ListgetInfos(Context context){

PackageManager pm=context.getPackageManager();

ListpackageInfos=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;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值