问题标签 [android-data-usage]
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.
javascript - 如何在 React Native 中测量我的应用程序的数据使用情况?
我有一个 react-native 应用程序,我想测量每个用户的数据使用情况并收集它们以便以后对其进行优化。
我看到原生 android 的老问题表明 trafficStats 可能会通过 UUID 提供统计信息。
react-native 有哪些可能性?
android - 如何以编程方式检查移动数据使用情况?
问题很简单,我如何找出用户在当月使用了多少移动数据(以 GB 或 MB 为单位)?
由于它被报道为题外话,我想澄清一下数据使用情况应该通过应用程序中的代码进行检查。
是否有一些代码可以用来检查用户使用的数据?
android - 如何使用 NetworkStatusManager 或 TrafficStat 在 Android 中获取网络共享和移动热点数据使用情况
我有一个 Android 应用程序,它通过 NetworkStatusManager 显示每个应用程序的数据使用情况,但我无法获取网络共享和移动热点的数据使用情况。我该怎么做?
android - Android NetworkStats.Bucket 数据未更新
我正在构建一个应用程序,它在一段时间内监视应用程序网络数据的使用情况。
在 android 5 上,我对 TrafficStats 没有任何问题,尽管在使用 NetworkStats 的 android 8 上,我总是收到相同的数据。我读过桶每 30 分钟左右刷新一次,所以我尝试听 youtube 大约 1 小时,但数据使用量仍然相同(在 com.google.android.youtube 包中)。
那么,我的问题是,为什么 NetworkStats 总是返回相同的数据?
这是我的代码:
我在 MainActivity 中请求运行时权限,如下所示:
授予权限,我也在 android manifest 中请求它们。
谢谢你的帮助。
android - 如何从特定时间段获取总体(非特定于应用程序)数据使用情况?
我正在研究 wifi 数据使用情况并想开发一个程序,例如,当用户单击一个按钮时,设备已经连接到 wifi 将开始计算数据使用情况,在同一个按钮上单击它将停止计算数据使用情况并给我总计开始和停止事件之间的数据使用情况。我已经搜索了许多与此相关的线程,但没有找到我要查找的内容,任何人都可以帮助我,这是我尝试过的。 代码
我希望有人一定会帮助我。寻求帮助。
android - NetworkStatsManager - 最早可能的开始时间是多少?
我正在使用 NetworkStatsManager 类来检索应用程序的数据使用情况。
如果我提供 01.01.2018 作为开始时间,则表明我的手机已发出 5.4 GB。
如果我提供 01.01.2017,它仍然显示 5,4 GB。
这让我假设开始时间存在某种限制。不幸的是,该文档没有提及有关此的任何内容。
那么,我们能回到多少时间呢?
代码:
这是使用 querySummary 检索数据的代码:
正如您在上面看到的,我为该方法提供了一个日历对象。
这就是我获取本年度日历的方式:
这将返回 Mon Jan 01 00:00:00 GMT+01:00 2018。
如果我现在将其设置为 2017,则结果与 2018 相同。
难道我做错了什么?
编辑:
我刚刚做了一些测试,限制似乎是3个月。
任何大于 3 个月的开始时间都会产生相同的值。
任何人都可以确认从当前时间开始使其工作超过 3 个月吗?
或者是否有任何官方文档解决这个问题?
android - 使用 NetworkStatsManager 分别查询两个 sim 卡的数据使用情况
我需要使用 NetworkStatsManager 为整个设备查询双卡手机中两张 sim 卡的数据使用情况,因为需要报告每张 sim 卡的 1 天数据使用情况。因此,我需要使用方法 querySummaryForDevice()。我需要传递订阅 id,我认为每个 sim 应该是不同的。我尝试使用此处提到的订阅管理器解决方案:Android:如何在 Android 中获取两个 SIM 卡的 SIM-ID? 不知何故,从这里获取订阅 id 会返回 0 个字节作为使用的数据。截至目前,我正在使用 TelephonyManager 获取订阅 ID。
android - Android 数据计数器差异(应用总和 < 总数)
我正在尝试了解我仅注意到几个应用程序的数据差异的原因。在 Tidal 和 Apple 音乐中,如果我在听曲目时跳过曲目,我会立即得到所有应用程序数据使用量之和与设备总音量之间 10% 到 15% 的数据差异。
测试用例
通过 Tidal(跳过曲目)执行 36.03MiB,启用数据保护程序以将背景数据限制到最低限度。
Android 数据使用计数器(设置 - 连接 - 数据使用)
全部的
应用
缺失数据
我的数据管理员
对于完全相同的数据测试,我的数据管理器报告相同的值
网络统计管理器
在我的跟踪应用程序中,我将 NetworkStatsManager.QuerySummaryForDevice 用于总容量,并使用存储桶 uid 作为包标识符从 NetworkStatsManager.QuerySummary 构建应用程序总数。这已在几款奥利奥设备上得到证实。
从这里我得到:
QuerySummaryForDevice
查询摘要
缺失数据
因此,相同的结果在获取/查看读数时会出现一些微小的时间差异。
作为第四次确认,我在测试之前和之后提取了 /proc/net/xt_qtaguid/iface_stats_all 和 /proc/net/xt_qtaguid/stats 文件,并且这些数字再次排列在上述方法的几个字节内。
数据包计数数据也遵循相同的模式,总数据使用量和应用程序总和之间缺少约 3000 个,因此我认为这不能归结为应用程序计数器中未跟踪数据包标头。
所以我的问题是:
- 鉴于所有其他应用程序都正确跟踪,在应用程序的总和与总数据之间留下可忽略不计的差距,是否有任何逻辑上的原因导致这些数据丢失?
- 是否有任何系统服务没有被 xt_qtaguid/stats 或 NetworkStatsManager 跟踪导致这种情况?
android - NetworkStatsManager:querySummary 为不同的开始时间返回相同的数据
我正在尝试使用 NetworkStatsManager 类来检索我的应用程序的数据使用情况。我想在一小时内跟踪一次(每隔一小时),当我阅读 queryDetails 时,这对我来说不是一个选项,因为它只是 2-3 小时。
当我尝试使用 querySummary 时:
使用两个不同的 startTime 调用 getNetworkStats:
返回相同的数据。为什么?