Android программно получает данные об использовании данных для конкретного приложения, например: использование данных в Facebook.

Я хотел бы классифицировать использование данных по:

OS ------60% (300MB used so far)
Music ------ 10% (50MB used so far)
Facebook -----5% (25MB used so far)

Любой может помочь мне в решении этого программирования для Android, поскольку я новичок в разработке Android и в настоящее время хотел бы разработать приложение для мониторинга мобильной сети. Я хотел бы получить использование данных, указав имя приложения.

Спасибо. Надеюсь услышать от вас всех.


person Wergil    schedule 10.08.2015    source источник


Ответы (1)


Используйте http://developer.android.com/reference/android/net/TrafficStats.html#getUidRxBytes(int)

общедоступный статический длинный getUidRxBytes (int uid)

Добавлено в уровень API 8 Возвращает количество байтов, полученных данным UID с момента загрузки устройства. Считает пакеты через все сетевые интерфейсы и всегда монотонно увеличивается с момента загрузки устройства. Статистика измеряется на сетевом уровне, поэтому она включает использование как TCP, так и UDP.

До JELLY_BEAN_MR2 это могло вернуть UNSUPPORTED на устройствах, где статистика недоступна.

См. также myUid() uid

а также

общедоступный статический длинный getUidTxBytes (int uid)

Добавлено в уровень API 8. Возвращает количество байтов, переданных данным UID с момента загрузки устройства. Считает пакеты через все сетевые интерфейсы и всегда монотонно увеличивается с момента загрузки устройства. Статистика измеряется на сетевом уровне, поэтому она включает использование как TCP, так и UDP.

До JELLY_BEAN_MR2 это могло вернуть UNSUPPORTED на устройствах, где статистика недоступна.

См. также myUid() uid

person rupesh jain    schedule 10.08.2015
comment
любой способ получить общий трафик с самого начала? Я вижу, что они возвращают только трафик с момента загрузки. - person Alberto M; 04.05.2021