获取wifi流量统计android

2023-12-01

我正在开发一个应用程序,可以在 Android 上检查 wifi 和移动流量统计信息。这就是我获取统计数据的方式:

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

很遗憾,wifiStats这里似乎不仅仅是 wifi,因为即使我在智能手机上禁用 wifi,它也会给我带来大量数据。 我觉得getTotalRxBytes() and 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;
}

希望能帮助到你!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取wifi流量统计android 的相关文章

  • 迁移到 java 17 后有关“每个进程的内存映射”和 JVM 崩溃的 GC 警告

    我们正在将 java 8 应用程序迁移到 java 17 并将 GC 从G1GC to ZGC 我们的应用程序作为容器运行 这两个基础映像之间的唯一区别是 java 的版本 例如对于 java 17 版本 FROM ubuntu 20 04
  • Flutter 深度链接

    据Flutter官方介绍深层链接页面 https flutter dev docs development ui navigation deep linking 我们不需要任何插件或本机 Android iOS 代码来处理深层链接 但它并没
  • 序列化对象以进行单元测试

    假设在单元测试中我需要一个对象 其中所有 50 个字段都设置了一些值 我不想手动设置所有这些字段 因为这需要时间而且很烦人 不知何故 我需要获得一个实例 其中所有字段都由一些非空值初始化 我有一个想法 如果我要调试一些代码 在某个时候我会得
  • ROOM迁移过程中如何处理索引信息

    CODE Entity tableName UserRepo indices Index value id unique true public class GitHubRepo PrimaryKey autoGenerate true p
  • 如何在C(Linux)中的while循环中准确地睡眠?

    在 C 代码 Linux 操作系统 中 我需要在 while 循环内准确地休眠 比如说 10000 微秒 1000 次 我尝试过usleep nanosleep select pselect和其他一些方法 但没有成功 一旦大约 50 次 它
  • Spring Data 与 Spring Data JPA 与 JdbcTemplate

    我有信心Spring Data and Spring Data JPA指的是相同的 但后来我在 youtube 上观看了一个关于他正在使用JdbcTemplate在那篇教程中 所以我在那里感到困惑 我想澄清一下两者之间有什么区别Spring
  • 反思 Groovy 脚本中声明的函数

    有没有一种方法可以获取 Groovy 脚本中声明的函数的反射数据 该脚本已通过GroovyShell目的 具体来说 我想枚举脚本中的函数并访问附加到它们的注释 Put this到 Groovy 脚本的最后一行 它将作为脚本的返回值 a la
  • 使用 Matrix.setPolyToPoly 选择位图上具有 4 个点的区域

    我正在 Android 上使用位图 在使用 4 个点选择位图上的区域时遇到问题 并非所有 4 点组都适合我 在某些情况下 结果只是一个空白位图 而不是裁剪后的位图 如图所示 并且 logcat 中没有任何错误 甚至是内存错误 这是我用来进行
  • Android构建apk:控制MANIFEST.MF

    Android 构建 APK 假设一个 apk 包含一个库 jar 例如 foo jar 该库具有 META INF MANIFEST MF 这对于它的运行很重要 但在APK中有一个包含签名数据的MANIFEST MF 并且lib jar
  • 如何在 JFreeChart TimeSeries 图表上显示降雨指数和温度?

    目前 我的 TimeSeries 图表每 2 秒显示一个位置的温度 现在 如果我想每2秒显示一次降雨指数和温度 我该如何实现呢 这是我的代码 import testWeatherService TestWeatherTimeLapseSer
  • 制作java包

    我的 Java 类组织变得有点混乱 所以我要回顾一下我在 Java 学习中跳过的东西 类路径 我无法安静地将心爱的类编译到我为它们创建的包中 这是我的文件夹层次结构 com david Greet java greeter SayHello
  • 尝试使用 Ruby Java Bridge (RJB) gem 时出现错误“无法创建 Java VM”

    我正在尝试实现 Ruby Java Bridge RJB gem 来与 JVM 通信 以便我可以运行 Open NLP gem 我在 Windows 8 上安装并运行了 Java 所有迹象 至少我所知道的 都表明 Java 已安装并可运行
  • Android 设备上的静默安装

    我已经接受了一段时间了 在 Android 上静默安装应用程序是不可能的 也就是说 让程序安装捆绑为 APK 的应用程序 而不提供标准操作系统安装提示并完成应用程序安装程序活动 但现在我已经拿到了 Appbrain 快速网络安装程序的副本
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • Android中webview的截图方法

    我在 webview 中的 html5 canvas 上画了一些线 并尝试使用下面的代码截取 webview 的屏幕截图 WebView webView WebView findViewById R id webview webView s
  • 运行 Jar 文件时出现问题

    我已将 java 项目编译成 Jar 文件 但运行它时遇到问题 当我跑步时 java jar myJar jar 我收到以下错误 Could not find the main class myClass 类文件不在 jar 的根目录中 因
  • Keycloak - 自定义 SPI 未出现在列表中

    我为我的 keycloak 服务器制作了一个自定义 SPI 现在我必须在管理控制台上配置它 我将 SPI 添加为模块 并手动安装 因此我将其放在 module package name main 中 并包含 module xml 我还将其放
  • 如何测试 spring-security-oauth2 资源服务器安全性?

    随着 Spring Security 4 的发布改进了对测试的支持 http docs spring io spring security site docs 4 0 x reference htmlsingle test我想更新我当前的
  • 如何修复“sessionFactory”或“hibernateTemplate”是必需的问题

    我正在使用 Spring Boot JPA WEB 和 MYSQL 创建我的 Web 应用程序 它总是说 sessionFactory or hibernateTemplate是必需的 我该如何修复它 我已经尝试过的东西 删除了本地 Mav
  • 在webview android中加载本地html文件

    我正在尝试在 android 的 webview 中加载 html 文件的内容 但是 它给了我 网页不可用错误 如果我尝试使用谷歌或雅虎等网站 它们就会起作用 html文件位于src gt main gt assests gt index

随机推荐

  • Rails:创建父记录(如果不存在),同时创建子记录

    以下任何最佳实践 我有制造商模型 has many 库存 在我的新库存表单中 我想要一个映射到Manufacturer name的字段 以便当一个 从应用程序提交新的库存 searches for a manufacturer with t
  • 暂停 NSTimer

    我有一个UIView with a UITableView and a UIImageView在里面 这UITableView占据了上半部分UIView The UIImageView占据下半部分UIView 我正在使用一个NSTimer更
  • 将 ComboBox 添加到特定行的 datagridview

    我需要将下拉列表显示到多行中的某一特定行 我的 dataGridView 有 2 列 参数和值 我在代码中动态添加 3 行 对于所有 3 行 参数文本是固定的 用户无法修改 对于第一行 参数文本是 prm1 值文本将从下拉列表中选择 其他
  • Android:如何检测滚动何时结束

    我正在使用 GestureDetector SimpleOnGestureListener 的 onScroll 方法在画布上滚动大位图 当滚动结束时 我想重绘位图 以防用户想要进一步滚动 离开位图的边缘 但我看不到如何检测滚动何时结束 用
  • 如何从 Visual Studio Code UI 执行 dotty 代码

    我正在尝试使用Visual Studio Code运行点代码 我开始使用 IDEsbt launchIDE根据指示这一页 我还安装了Dotty Language Server and Code Runner扩展 Dotty 安装使用brew
  • 从字符串中提取正则表达式结果并将其写入变量

    我正在尝试编写一个 shell 脚本 该脚本在指定为参数 1 的文件中搜索正则表达式 并将找到的子模式写入我可以使用的变量中 假设我的脚本名为 dosth sh 并且我有一个文件 plot gp 其中包含以下行 set output tes
  • 将 Firebase 中的重复对象加载到 ListView 中

    当我向列表视图添加新消息时 会添加我拥有的消息和新消息 因此它会两次放置相同的信息 我想使用 Firebase 在列表视图中加载最后一条消息 我在 create 中添加了以下函数 firebase new Firebase FIREBASE
  • 如何在 C++ 中使用 new 声明二维数组?

    如何使用 new 声明二维数组 就像 对于 正常 数组我会 int ary new int Size but int ary new int sizeY sizeX a 无法工作 编译 b 无法完成 int ary sizeY sizeX
  • Android:从首选项中选择主题颜色

    我希望通过首选项设置我的应用程序导航抽屉的颜色按下项目 但我似乎找不到方法来做到这一点 我在我的首选项中创建了一个列表 其中使用十六进制颜色代码作为值 但我不知道如何在我的 java 类中使用这些值 帮助 尝试这个方法 首先在colors
  • 使用 onChange 检测注释更改

    Google 表格是否可以检测您何时使用 onChange 编辑笔记或插入新笔记 function onChange e var ss SpreadsheetApp getActiveSheet var s SpreadsheetApp g
  • 如何使用 cli 获取当前分支的 Github 最新提交 url

    如何使用cli获取Github最新提交url 示例输出 https github com my user my repo commit 0904dcc315ec80d024440dda5208ebf1d7edbcb3 我发现的最接近的是gi
  • MySQL仅在条件为真时插入

    我有几个插入语句 我只想在它们为真时执行 这是我的例子 START TRANSACTION INSERT INTO fields field name control type id needs approval VALUES Array
  • 如何在Android中的类/活动之间传递值数据?

    例如我有activity1 activity2 activity3 最后是valueAllActivity 如何将数据从活动 1 活动 2 活动 3 传递到 gt valueAllActivity 将每个活动中的 INT 值传递给 valu
  • 在 Python 中使用 Scipy Hierarchy Clustering 进行文本聚类

    我有一个文本语料库 其中包含 1000 多篇文章 每篇文章都在单独的行中 我正在尝试使用 python 中的 Scipy 进行层次聚类来生成相关文章的集群 这是我用来进行聚类的代码 Agglomerative Clustering impo
  • WebBrowser 控件禁用鼠标点击

    我想在 WebBrowser 控件中显示 YouTube 视频 但我想禁用所有用户交互 没有鼠标单击 没有键盘事件 我正在捕获所有控件的预览 鼠标和键盘事件 此外我还向加载的 HTML 文档添加了一些处理程序 但没有成功 void webB
  • 为什么我的服务器发送的电子邮件被标记为垃圾邮件?

    我的网站全部用 PHP 编写 有一个自动系统通过电子邮件通知用户 一切都工作得很好 直到我把所有东西都转移到一个新的更便宜的专用服务器上 还有新的IP 现在 所有电子邮件都从新服务器发送到垃圾邮件文件夹 为什么 发生了什么 Gmail 称其
  • PySimpleGui - 如何从输入文本框中删除文本

    如何清除输入框中的文本 PySimpleGui 我正在尝试 window INPUT 但收到一个关键错误 我希望这样在每次迭代后框中的文本都会被替换为空字符串 这样用户就不必自己删除文本 我想要它 以便框中的文本被替换为空 每次迭代后的字符
  • 如果用户已登录并且在所有其他情况下显示公共路由,如何重定向到 /dashboard 公共路由 /login 和 /register?

    我有两种类型的路线 公共路线和私人路线 仅当用户登录时才能访问所有私有路由 return tokenService token lt gt
  • ServiceStack 4 中的 Razor 依赖问题

    我正在尝试将应用程序升级到 ServiceStack 4 但收到错误消息System Web WebPages Razor in Web config 无法加载文件或程序集 System Web WebPages Razor 版本 1 0
  • 获取wifi流量统计android

    我正在开发一个应用程序 可以在 Android 上检查 wifi 和移动流量统计信息 这就是我获取统计数据的方式 long mobileStats TrafficStats getMobileRxBytes TrafficStats get