android获取自己app消耗的流量
代码:
传入自己应用程序的包名和上下文即可
public class GetFlowUtil {public static FlowInfo getAppFlowInfo(String pakageName, Context context) {//获取到配置权限信息的应用程序PackageManager pms = context.getPackageManager();;List packinfos = pms.getInstalledPackages(PackageManager.GET_PERMISSIONS);//存放具有Internet权限信息的应用FlowInfo flowInfo = new FlowInfo();for (PackageInfo packinfo : packinfos) {String appName = packinfo.packageName;if (!TextUtils.isEmpty(appName)) {if (appName.equals(pakageName)) {//用于封装具有Internet权限的应用程序信息//封装应用信息flowInfo.setPackname(packinfo.packageName);flowInfo.setIcon(packinfo.applicationInfo.loadIcon(pms));flowInfo.setAppname(packinfo.applicationInfo.loadLabel(pms).toString());//获取到应用的uid(user id)int uid = packinfo.applicationInfo.uid;//TrafficStats对象通过应用的uid来获取应用的下载、上传流量信息//发送的 上传的流量byteflowInfo.setUpKb(TrafficStats.getUidRxBytes(uid));//下载的流量 byteflowInfo.setDownKb(TrafficStats.getUidTxBytes(uid));break;}}}return flowInfo;}
}
使用:
public long getUpKb() {//获取上传流量kbreturn upKb;
}public long getDownKb() {//获取下载流量kbreturn downKb;
}public String getAppname() {//获取app的名字return appname;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
