NetworkStatsManager querySummary возвращает неверные данные за определенный промежуток времени
Я использую следующий код, чтобы получить данные, используемые для приложения в течение определенного промежутка времени
long t1 = System.currentTimeMillis()-(60*1000);
long t2 = System.currentTimeMillis();
NetworkStats networkStats = networkStatsManager.querySummary(ConnectivityManager.TYPE_WIFI, null, t1, t2);
long data_tx = 0;
long data_rx = 0;
NetworkStats.Bucket bucket = new NetworkStats.Bucket();
while (networkStats.hasNextBucket()) {
networkStats.getNextBucket(bucket);
String callingApp = context.getPackageManager().getNameForUid(bucket.getUid());
data_tx = bucket.getTxBytes();
data_rx = bucket.getRxBytes();
}
но ценности bucket.getTxBytes()
а также bucket.getRxBytes()
for any given application for given time interval is too big which can not be true as i have checked it with glasswire data monitoring app. So is this the right way to get data usage per application for any given time interval and also how can we have real time watch on application to monitor their internet activities?