如何使用 NetworkStatusManager 或 TrafficStat 在 Android 中获取网络共享和移动热点数据使用情况
How to get Tethering and Mobile Hotspot data usage in Android using NetworkStatusManager or TrafficStat
我有一个 Android 应用程序,它通过 NetworkStatusManager 显示每个应用程序的数据使用情况,但我无法获取网络共享和移动热点的数据使用情况。我应该怎么做?
您需要通过 UID 查询并传入网络共享 UID:android.app.usage.NetworkStats.Bucket.UID_TETHERING
如下所示:
networkStatsManager.queryDetailsForUid(ConnectivityManager.TYPE_MOBILE,
subscriberId, startDate, endDate,
android.app.usage.NetworkStats.Bucket.UID_TETHERING);
我所做的是从这个文件中获取数据
/sys/class/net/<界面>/statistics/tx_bytes
/sys/class/net/<界面>/statistics/tr_bytes
然后我使用 sharedpreference 保存了这些值,我还编写了一些代码来获取新值并将其添加到保存的值中。
我进行了大量研究,但使用 UID_TETHERING 的 queryDetailsForUid 从未奏效
接口是 wlan 和 wwan
我有一个 Android 应用程序,它通过 NetworkStatusManager 显示每个应用程序的数据使用情况,但我无法获取网络共享和移动热点的数据使用情况。我应该怎么做?
您需要通过 UID 查询并传入网络共享 UID:android.app.usage.NetworkStats.Bucket.UID_TETHERING
如下所示:
networkStatsManager.queryDetailsForUid(ConnectivityManager.TYPE_MOBILE,
subscriberId, startDate, endDate,
android.app.usage.NetworkStats.Bucket.UID_TETHERING);
我所做的是从这个文件中获取数据
/sys/class/net/<界面>/statistics/tx_bytes
/sys/class/net/<界面>/statistics/tr_bytes
然后我使用 sharedpreference 保存了这些值,我还编写了一些代码来获取新值并将其添加到保存的值中。
我进行了大量研究,但使用 UID_TETHERING 的 queryDetailsForUid 从未奏效
接口是 wlan 和 wwan