当前位置: 首页 > 面试题库 >

获取wifi流量统计android

田丰
2023-03-14
问题内容

我正在开发一个应用程序,它可以检查android上的wifi和移动流量统计信息。这就是我得到的统计信息:

long mobileStats = TrafficStats.getMobileRxBytes() + TrafficStats.getMobileTxBytes();
long wifiStats = TrafficStats.getTotalRxBytes() + TrafficStats.getTotalTxBytes() - mobileStats;

不幸的是,wifiStats这似乎不仅仅是wifi,因为即使我在智能手机上禁用wifi,它也会为我带来大量数据。我认为,getTotalRxBytes()并且getTotalTxBytes()正在计算所有网络接口上发送和接收的字节数。

我在网上搜索了很多关于如何仅在wifi上获取流量统计信息的方法,但我找不到方法。

我很乐意接受任何帮助。


问题答案:

几年前,我遇到了同样的问题,并通过直接读取系统文件来解决了这个问题。

private final String RX_FILE = "/sys/class/net/wlan0/statistics/rx_bytes";
private final String TX_FILE = "/sys/class/net/wlan0/statistics/tx_bytes";

    private long readFile(String fileName){
    File file = new File(fileName);
    BufferedReader br = null;
    long bytes = 0;
    try{
        br = new BufferedReader(new FileReader(file));
        String line = "";
        line = br.readLine();
        bytes = Long.parseLong(line);
    }  catch (Exception e){
        e.printStackTrace();
        return 0;

    } finally{
        if (br != null)
            try {
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
    }

    return bytes;
}

希望能帮助到你!



 类似资料:
  • 基本统计 基本统计包含昨日消耗流量、昨日卡均流量、近7日卡均流量、本月已用总流量。 流量池统计 以可视化的图形形态,清晰直观的展示当前流量池的使用情况。多个流量池会依次显示。 流量最值情况 显示昨日流量使用最多、流量使用最少的情况。可以初步判定昨日用量是否有卡异常使用。并且可以针对异常的卡查看详情,详细排查问题,观测最近几天是否均出现异常情况。 流量使用情况 查询当前所有卡的流量消耗曲线、每日卡均

  • 1.通过该接口可以获取某视频某天的小时维度的流量信息。地址为: http://spark.bokecc.com/api/traffic/video/hourly 需要传递以下参数: 参数 说明 userid 用户 id,不可为空 videoid 视频 id,不可为空 date 查询日期,格式为yyyy-MM-dd,不可为空 返回数据traffics包含如下字段: 字段名 说明 traffic 流量

  • 1.通过该接口可以获取某用户某天的小时维度的流量信息。地址为: http://spark.bokecc.com/api/traffic/user/hourly 需要传递以下参数: 参数 说明 userid 用户id,不可为空 date 查询日期,格式为yyyy-MM-dd,不可为空 返回数据traffics包含如下字段: 字段名 说明 traffic 流量信息 traffic包含如下字段: 字段名

  • 通过以下三个接口接口可以从产品线、终端类型、媒体类型三个维度获取2019-07-01及以后日期的相关的用户流量信息. 一、 通过该接口可以获取某用户某天的小时维度的流量信息。地址为: https://spark.bokecc.com/api/traffic/user/hourly/v2 需要传递以下参数: 参数 说明 userid 用户 id,不可为空 date 查询日期,日期不能大于今日,格式为

  • 问题内容: 我需要在应用程序中收集一些统计信息。我有一个用户表(tb_user),每当一个新用户访问该应用程序时,它将在该表中添加一条新记录,即每个用户一行。主要字段是 id 和 date_hour (用户首次访问该应用程序的时间戳)。 tb_user 我需要得到: 按日,周和月划分的平均用户数 例子: 每天:55.45 每周:XX.XX 月:XX.XX 编辑: 我最好的解决方案是: 但是,此解决

  • 这一讲,我们将展示WinPcap的另一个高级特性:收集并统计网络流量。统计引擎利用了内核级的数据包过滤器,来有效地为收集到的数据包进行分类。如果你想阅读更多细节,请参阅 NPF驱动核心手册。 为了使用这个特性,编程人员必须打开一个适配器,并且,可以使用 pcap_setmode() 将它设置为统计模式(statistical mode)。特别注意,必须使用MODE_STAT来作为这个函数的mode