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类获取本应用的流量的更多相关文章

  1. 关于Android的Build类——获取Android手机设备各种信息

    经常遇到要获取Android手机设备的相关信息,来进行业务的开发,比如经常会遇到要获取CPU的类型来进行so库的动态的下载.而这些都是在Android的Build类里面.相关信息如下: private ...

  2. android 利用反射机制获取drawable中所有的图片资源

    public List<Map<String,Object>> getGridData() { list=new ArrayList<Map<String,Obje ...

  3. Android自定义工具类获取按钮并绑定事件(利用暴力反射和注解)

    Android中为按钮绑定事件的有几种常见方式,你可以在布局文件中为按钮设置id,然后在MainActivity中通过findViewById方法获取按钮对象实例,再通过setOnClickListe ...

  4. Android:StatFs类 获取系统/sdcard存储空间信息

    在存储文件时,为了保证有充足的存储空间大小,通常需要知道系统内部或者sdcard的剩余存储空间大小,这里就需要用到StatFs类. 1. 判断 SDCard 是否存在,并且是否具有可读写权限 /** ...

  5. android利用ContentResolver访问者获取手机联系人信息

    转载自:http://www.jb51.net/article/106379.htm 首先需要在AndroidManifest.xml文件中添加权限: <uses-permission andr ...

  6. Android利用Handler异步获取子线程中的产生的值

        本文首发于cartoon的博客     转载请注明出处:https://cartoonyu.github.io/cartoon-blog     近段时间有一个需求:在线获取图片并且显示在界面 ...

  7. Android普通工具类获取Context

    在普通工具类中定义一个构造方法,类成员context,用于接收传过来的context 在activity中定义: 将context传过去. 在工具类中也可以使用SharePreferences,get ...

  8. Android利用CountDownTimer类实现倒计时功能

    public class MainActivity extends Activity { private MyCount mc; private TextView tv; @Override publ ...

  9. Android流量统计TrafficStats类

    对于Android流量统计来说在2.2版中新加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提供的文件对象系统类型的文本进行解析. android.n ...

随机推荐

  1. python3 字符串方法(1-15)

    1.capitalize() 将字符串的第一个字符改为大写 >>> s='i love cnblog' >>> s.capitalize() 'I love cnb ...

  2. OC基础(22)

    NSMutableString基本概念 NSMutableString常用方法 NSMutableString练习 *:first-child { margin-top: 0 !important; ...

  3. H264句法和语法总结(二)NAL层语法

    1.NAL全称Network Abstract Layer, 即网络抽象层.         在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(N ...

  4. MFC中,如何自定义用户消息

    1.用处 在多个类之间传递消息.当需要响应用户操作,本类却无法实现时,可以向系统发出消息.然后让系统中的需要的位置实现它. 2.方法 2.1定义这个消息,并让拥有者发送这个这个消息,传递一个整型参数 ...

  5. [ CodeVS冲杯之路 ] P1053

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1053/ 直接扫一遍串,把字母对应的 ascii 码直接做数组下标,交给数组统计 最后查询一遍数组的 'a'-'z' , ...

  6. 慧自文档:代替 Everything 来快速查找文件的,实现文件显示在文件夹的层次结构中

    1. 搜索功能和Everything一样快和强大 具有 Everything 搜索快.搜索功能强等优点, 解决了不能方便选择搜索哪个文件夹, 解决了不能同一个画面进行预览等问题 2.文件直接显示到文件 ...

  7. Android开发-API指南-常用Intent

    Common Intents 英文原文:http://developer.android.com/guide/components/intents-common.html 采集(更新)日期:2014- ...

  8. com学习(四)——用 ATL 写第一个组件

    建立 ATL 工程 步骤2.1:建立一个工作区(WorkSpace). 步骤2.2:在工作区中,建立一个 ATL 工程(Project).示例程序叫 Simple1,并选择DLL方式,见图一. 图一. ...

  9. x86_64 Ubuntu 14.04 LST安装gcc4.1.2 转载

    由于编译源码软件需要用到gcc4.1.2版本,但是本机已经安装有gcc4.8.4,下载gcc4.1.2源码编译总会出现运行找不到库文件错误,或者i386和x86_64不兼容问题,在http://ask ...

  10. ubuntu13.10无有线网卡驱动

    装上双系统win8+ubuntu13.10后,设置网络后,发现连不上网,重启电脑N次(N > 3),重新设置网络也不行 网上搜索设置网络的方式,都是那样设置的啊(本来以前装过N(N>5)次 ...