Мне нужно получить объем данных, то есть интернет-использование в течение одного месяца. Я занимаюсь некоторыми исследованиями и нашел класс TrafficStats
. Однако это кажется запутанным. В чем разница между getUidRxBytes()
и getUidRxPackets()
. Как я могу получить данные, используемые в течение одного месяца?Получить данные за некоторый заданный период времени
0
A
ответ
0
Используйте библиотеку android.net.TrafficStats, чтобы получить необходимую информацию. Вам нужно будет построить алгоритм для расчета того, что использование среднего.
Пример:
long appDataUsage = android.net.TrafficStats.getUidRxBytes(UID);
long total = android.net.TrafficStats.getTotalRxBytes();
Но меня беспокоит только с мобильными сетями 3G IE-, 4G, и, насколько я понимаю, эти методы включают в себя WIFI сети –
Вы правы, данные неоднозначны. Тем не менее, вы можете отслеживать изменение Wi-Fi или 3G. –
Я читал документацию и обнаружил, что getMobileRxBytes() возвращает данные, полученные по 3G, 4G, GPRS. Однако счетчик сбрасывается после выключения телефона. Вы бы рекомендовали создать db для хранения этих данных? –