问题标签 [android-trafficstats]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何从特定线程获取流量统计信息
在 android 上,如何使用TrafficStats和TrafficStatsCompat获取当前进程中特定线程的总 TX 字节数?API暗示这是可能的,但我无法弄清楚。
java - Android 手机使用历史 NetworkStatsManager
我正在为 Android 6.0 制作应用程序,我想使用新类 NetworkStatsManager 来获取移动数据使用情况。
我在清单中添加了我需要的所有权限并需要权限运行时。
当我调用该方法时:
返回正确的 WIFI 使用值。
但是如果我用 TYPE_MOBILE 替换 TYPE_WIFI,结果总是 0。
android - TrafficStats.getMobileRxBytes() 和 TrafficStats.getMobileTxBytes() 在 Nexus 5x 中总是返回 0
我正在尝试使用 TrafficStats 获取移动数据使用情况。
例子:
mobileDataUsage = TrafficStats.getMobileRxBytes() +TrafficStats.getMobileTxBytes()
totalUsage = TrafficStats.getTotalRxBytes() + TrafficStats.getTotalTxBytes()
在少数设备中,它工作得非常好。在Nexus 5X中,我得到了 totalUsage,但 mobileDataUsage 始终为 0,TrafficStats.getMobileRxBytes()
并且TrafficStats.getMobileTxBytes()
始终返回 0。
android - 使用 TrafficStats 的网络连接速度
我正在开发一个使用互联网连接来工作的 android 应用程序。我想使用一个red for poor
连接yellow for fair
和green for good
强度指示器来监控网络速度,并将其显示在状态栏上,以便用户可以知道所有的网络速度使用该应用程序的时间。我遇到了TrafficStats库,我将在其中获得否。使用TrafficStats.getMobileTxbytes()
和没有传输的字节数。接收到的字节数,TrafficStats.getMobileRxbytes()
但现在我有一个查询要处理。
- TrafficStats 将提供基于当前数据传输的网络速度。因此,如果在过去 10 秒内没有传输任何内容,它将返回 0kbps 速度,并且我们的指示灯将是红色的,而实际网络很好,它应该是绿色的。
我只是 Android 的新手,在这里想要一些见解。
还有其他解决这个问题的好方法吗?
android - 获取特定时间段内的数据使用情况
我需要获取数据量,即一个月内的互联网使用量。我一直在做一些研究并找到了TrafficStats
课程。然而,这似乎令人困惑。getUidRxBytes()
和有什么区别getUidRxPackets()
。如何获取一个月内使用的数据?
android - NetworkStatsManager 的 queryDetailsForUid() 方法总是返回所有应用程序的旧网络使用情况
我编写了一个代码来获取网络使用情况,但是 queryDetailsForUid(int networkType, StringsubscriberId,long startTime, long endTime, int uid) 这个方法总是返回旧数据。如何使用NetworkstatsManager
API 获取更新的数据?
android - 如何获取 1 个月的 GPRS 移动数据使用量?
我对此进行了很多搜索。到处都找到了相同的代码,部分解决了这个目的。正如 API 文档所说,一旦设备重新启动,它就会重置计数器。有时即使没有重新启动,计数器也会重置。下面是代码
但是我想不出任何方法来获取特定日期或一个月的这些数据?请帮忙。任何指针将不胜感激。谢谢。
android - 网络状态变化监听器
我需要听网络的变化(连接/断开)(特别是移动数据)。我知道使用广播接收器和 ConnectivityManager 来了解连接类型的方法。
但是,在广播接收器中,当我想收听正在断开的网络时,连接切换到新网络后会收到一个意图。
我为什么要这样做?
我想获取移动数据的数据统计信息,即通过 2g/3g/4g/LTE 传输和接收了多少数据。我正在使用 TrafficStats.getMobileRxBytes() 来获取接收到的数据,但与文档所述相反,当您未连接到移动数据时,此方法返回零。正如您在此处看到的,不仅我自己,而且许多人都面临过这个问题。
我知道有一种解决方法可以查看 Play Store 上的应用程序,以提供每天使用的数据量。
另外,如果我记录用户连接到移动数据时每秒使用的数据,那么我认为这对电池来说不会太好。
请帮我解决这个问题。
谢谢你
android - NetworkStatsManager.queryDetailsForUid 未获得与 TrafficStats 相同的值
我正在将新NetworkStats
类与TrafficStats
测量网络接口和给定应用程序(pex Chrome)的流量进行比较
由于TrafficStats
自设备启动以来具有值,我正在执行的测试是这样的:
- 重启手机。
- 打开铬。
- 下载 10 mb 数据(通过 WiFi)。
得到的数据TrafficStats
是这样的:
我授予的权限NetworkStats
和我获得的值是:
获取数据的代码NetworkStats
如下:
在哪里getDataFromBucket
:
我在某处读到桶是从两个小时开始的,所以我添加了以下代码:
但是 chrome 的数据仍然为 0,因为wifiBucketForApp
并且mobileBucketForApp
没有任何存储桶。
如果我设置bootTime
为一天的开始(在我的国家是 18:30),我将获得:
有人知道为什么我没有获得与Chrome 应用程序TrafficStats
从设备启动以来相同的值吗?NetworkStatsManager
android - getUidTxBytes(int uid) 在 android 6.0 中总是返回 0
我正在尝试获取所有应用程序的网络流量统计信息。我只是打印设备中每个应用程序的总网络流量。该代码在 android 4.4 和 5.1 设备中运行良好,但在 android 6.0 设备中它总是为所有应用程序返回 0。任何人都可以告诉我为什么会在 android 6.0 设备中发生这种情况。
这是我的AndroidManifest.xml