android 利用TrafficStats类获取本应用的流量
public void getData() {
// PackageManager 包管理类
PackageManager packageManager = BrownserActivity.this.getPackageManager();
int PackageUid = 0;
BigDecimal numRx = new BigDecimal("0");
BigDecimal numTx = new BigDecimal("0"); /**
* 循环抓紧所有应用的包名 和当前应用的包名进行匹配操作 把获取到的UID保存到一个临时变量
*/
/*for (ApplicationInfo info : packageManager.getInstalledApplications(0)) {
int uid = info.uid;
String packageName = info.packageName;
if (packageName.indexOf("iAssistant") > -1) {
PackageUid = uid;
break;
}
}*/
// 获取当前应用的uid
PackageUid = android.os.Process.myUid(); // TrafficStats类根据应用的UID获取到流量的相关数据
long rx = TrafficStats.getUidRxBytes(PackageUid);// 总接收量
long tx = TrafficStats.getUidTxBytes(PackageUid);// 总发送量 float justLoad = 0f;
Log.i("scott", "本应用本次开机总接收量:" + rx);
Log.i("scott", "本应用本次开机总发送量:" + tx);
if (rx > 0) {
numRx = byteToM(rx);
justLoad = numRx.floatValue() - initData;
initData = numRx.floatValue();
}
if (tx > 0) {
numTx = byteToM(tx);
} // Toast.makeText(BrownserActivity.this, "总接收量:"+numRx.floatValue()+"M",
// Toast.LENGTH_SHORT).show();
Toast.makeText(BrownserActivity.this, "本次接收量:" + justLoad + "M", Toast.LENGTH_SHORT).show();
Log.i("scott", "转换为(M为单位)后的总接收量:" + numRx.floatValue());
Log.i("scott", "转换为(M为单位)后的总发送量:" + numTx.floatValue()); } /**
* 字节转换为M
*/
private BigDecimal byteToM(long value) {
BigDecimal result = new BigDecimal(Long.toString(value));
result = result.divide(new BigDecimal("1024.0")).divide(new BigDecimal("1024.0"));
return result;
}
android 利用TrafficStats类获取本应用的流量的更多相关文章
- 关于Android的Build类——获取Android手机设备各种信息
经常遇到要获取Android手机设备的相关信息,来进行业务的开发,比如经常会遇到要获取CPU的类型来进行so库的动态的下载.而这些都是在Android的Build类里面.相关信息如下: private ...
- android 利用反射机制获取drawable中所有的图片资源
public List<Map<String,Object>> getGridData() { list=new ArrayList<Map<String,Obje ...
- Android自定义工具类获取按钮并绑定事件(利用暴力反射和注解)
Android中为按钮绑定事件的有几种常见方式,你可以在布局文件中为按钮设置id,然后在MainActivity中通过findViewById方法获取按钮对象实例,再通过setOnClickListe ...
- Android:StatFs类 获取系统/sdcard存储空间信息
在存储文件时,为了保证有充足的存储空间大小,通常需要知道系统内部或者sdcard的剩余存储空间大小,这里就需要用到StatFs类. 1. 判断 SDCard 是否存在,并且是否具有可读写权限 /** ...
- android利用ContentResolver访问者获取手机联系人信息
转载自:http://www.jb51.net/article/106379.htm 首先需要在AndroidManifest.xml文件中添加权限: <uses-permission andr ...
- Android利用Handler异步获取子线程中的产生的值
本文首发于cartoon的博客 转载请注明出处:https://cartoonyu.github.io/cartoon-blog 近段时间有一个需求:在线获取图片并且显示在界面 ...
- Android普通工具类获取Context
在普通工具类中定义一个构造方法,类成员context,用于接收传过来的context 在activity中定义: 将context传过去. 在工具类中也可以使用SharePreferences,get ...
- Android利用CountDownTimer类实现倒计时功能
public class MainActivity extends Activity { private MyCount mc; private TextView tv; @Override publ ...
- Android流量统计TrafficStats类
对于Android流量统计来说在2.2版中新加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提供的文件对象系统类型的文本进行解析. android.n ...
随机推荐
- java使用jacob将office转pdf
1.此处代码是把office文档转换成pdf的工具类,在BS架构的产品中,我们可以使用基于JS的pdf插件显示pdf文档,但是前提IE需要按照adobe的pdf软件,对于非IE不用安装.2.可以基于f ...
- Oracle索引HINT的使用
存储在数据库中数据的分布情况开发人员或管理员比Oracle优化器更加的清楚,在优化器不能作出最有查询路径选择的情况下,使用HINT(提示)人为的固定查询路径,一定程度能生成更优的执行计划. ...
- T4 assembly
In a T4 template the executing assembly is not yours but one from the T4 engine. To access types fro ...
- 向Page对象注册脚本
在madn上ClientScriptManager 类的示例: <%@ Page Language="C#"%> <!DOCTYPE html PUBLIC &q ...
- cmd中目录的变更
1.在同一个盘符下的目录的切换使用cd加空格加子目录进行切换 2.在不同的盘符下进行切换直接使用在当前目录后面加上其他盘符的名称即可
- android 自定义组合控件 顶部导航栏
在软件开发过程中,经常见到,就是APP 的标题栏样式几乎都是一样的,只是文字不同而已,两边图标不同.为了减少重复代码,提高效率, 方便大家使用,我们把标题栏通过组合的方式定义成一个控件. 例下图: 点 ...
- Jmeter命令行方式启动
在性能测试过程中,我们常常遇到这样的问题,使用Jmeter的GUI界面进行大并发量的性能测试时,界面容易卡死,无法继续进行性能测试.通过使用命令行方式启动jmeter是一个不错的方式.下面就简单介绍一 ...
- 初探接口测试框架--python系列6
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...
- 多媒体编程基础之RGB和YUV
一.概念 1.什么是RGB? 对一种颜色进行编码的方法统称为“颜色空间”或“色域”.用最简单的话说,世界上任何一种颜色的“颜色空间”都可定义成一个固定的数字或变量.RGB(红.绿.蓝)只是众多颜色空间 ...
- oracle误删除恢复
create table first_fill_20151207 as -- 生成到临时表select * from first_fillas of timestamp to_timestamp('2 ...