android - 可以从 Android 应用程序计算 Wi-Fi 中使用的数据量

标签 android networking android-wifi

  1. 我正在开发一个应用程序,我需要在其中扫描 WiFi 网络并显示所有已连接设备的列表。

我从 here 找到了设备检测的解决方案.

  1. 我需要使用多少 Wi-Fi 网络数据? 我不知道这是否可能。

任何人都知道我的第二个要求。

感谢您的帮助。欢迎提出任何建议/意见。

已编辑:我可以从我的应用中获取这些详细信息吗?

未安装在用户应用中。

因为此应用程序用于酒店 Wi-Fi。每个客户都使用酒店 Wi-Fi,但他们没有应用程序。 酒店管理员从客户那里收集数据使用量。在我的应用程序的帮助下。

最佳答案

可以知道您的设备消耗了多少数据。 Android 操作系统提供 TrafficStats 类,它为您提供网络使用的数据量。

尝试以下示例。

String info = "";

info += "Mobile Interface:\n";
info += ("\tReceived: " + TrafficStats.getMobileRxBytes() + " bytes / " + TrafficStats.getMobileRxPackets() + " packets\n");
info += ("\tTransmitted: " + TrafficStats.getMobileTxBytes() + " bytes / " + TrafficStats.getMobileTxPackets() + " packets\n");

info += "All Network Interface:\n";
info += ("\tReceived: " + TrafficStats.getTotalRxBytes() + " bytes / " + TrafficStats.getTotalRxPackets() + " packets\n");
info += ("\tTransmitted: " + TrafficStats.getTotalTxBytes() + " bytes / " + TrafficStats.getTotalTxPackets() + " packets\n");

Log.d("Network","Usage : "+info);

编辑

据我所知,不可能从路由器获得它消耗了多少数据的信息。可能有某种机制可以与路由器通信。但是如何沟通是个大问题。因为所有路由器都有其安全级别。

建议

如果您了解网络共享和可移植热点,您可以做一件事。您可以从您的设备创建一个 Wi-Fi 热点。您可以添加No Security 以允许客户连接到您的 Wi-Fi 热点。

您的设备将连接到实际的 Wi-Fi 路由器,所有其他客户将连接到您的设备。因此,无论您的设备将消耗多少数据,您都可以计算出来。

注意

wifi 热点的连接数量有限。

关于android - 可以从 Android 应用程序计算 Wi-Fi 中使用的数据量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26353922/

相关文章:

android - RecyclerView 适配器 + 数据绑定(bind)

android - 在较旧的 Android 平台上使用 cz.msebera.android.httpclient 时防止 SSL_do_handshake 失败

android - 为 Android 按钮属性分配负值

java - 网络 Swing 游戏中的多线程 : using invokeLater vs locks

algorithm - 从图形中获取主线

wifi - Android 上没有互联网的强制门户

未授予 Android 权限

android - 在 Android 设备设置中的已安装应用程序中不显示应用程序

regex - Chrome开发工具: any way to exclude requests whose URL matches a regex?

android - 如何在不共享 android 中的互联网连接(热点)的情况下创建 wifi 网络共享?