2016-09-25 13 views
0

Мне нужно получить объем данных, то есть интернет-использование в течение одного месяца. Я занимаюсь некоторыми исследованиями и нашел класс TrafficStats. Однако это кажется запутанным. В чем разница между getUidRxBytes() и getUidRxPackets(). Как я могу получить данные, используемые в течение одного месяца?Получить данные за некоторый заданный период времени

ответ

0

Используйте библиотеку android.net.TrafficStats, чтобы получить необходимую информацию. Вам нужно будет построить алгоритм для расчета того, что использование среднего.

Пример:

long appDataUsage = android.net.TrafficStats.getUidRxBytes(UID); 
long total = android.net.TrafficStats.getTotalRxBytes(); 
+0

Но меня беспокоит только с мобильными сетями 3G IE-, 4G, и, насколько я понимаю, эти методы включают в себя WIFI сети –

+0

Вы правы, данные неоднозначны. Тем не менее, вы можете отслеживать изменение Wi-Fi или 3G. –

+0

Я читал документацию и обнаружил, что getMobileRxBytes() возвращает данные, полученные по 3G, 4G, GPRS. Однако счетчик сбрасывается после выключения телефона. Вы бы рекомендовали создать db для хранения этих данных? –