首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android取得本应用本次开机后的流量

2013-10-23 
Android获得本应用本次开机后的流量/** * 获得本次开机后使用的流量 */public void getData() {//PackageM

Android获得本应用本次开机后的流量

/** * 获得本次开机后使用的流量 */    public void getData() {        //PackageManager 包管理类        PackageManager packageManager = context.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.equals(PACKAGENAME)){                PackageUid = uid;            }        }        //TrafficStats类根据应用的UID获取到流量的相关数据        long rx = TrafficStats.getUidRxBytes(PackageUid);//总接收量        long tx = TrafficStats.getUidTxBytes(PackageUid);//总发送量                LogManager.show(TAG, "本应用本次开机总接收量:"+rx, 1);        LogManager.show(TAG, "本应用本次开机总发送量:"+tx, 1);        if(rx>0){        numRx = byteToM(rx);        }        if(tx>0){        numTx = byteToM(tx);        }                LogManager.show(TAG, "转换为(M为单位)后的总接收量:"+numRx.floatValue(), 1);        LogManager.show(TAG, "转换为(M为单位)后的总发送量:"+numTx.floatValue(), 1);            }    /**     * 字节转换为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;    }

热点排行