Я хочу реализовать расширение до android.net.TrafficStats
для измерения трафика данных на APN или на APN для приложения.прототип методов выглядит следующим образом:
getInterfaceTxPackets(String interface)
getInterfaceRxPackets(String interface)
getInterfaceTxBytes(String interface)
getInterfaceRxBytes(String interface)
getUidInterfaceTxPackets(int uid,String interface)
getUidInterfaceRxPackets(int uid,String interface)
getUidInterfaceTxBytes(int uid,String interface)
getUidInterfaceRxBytes(int uid,String interface)
Я прочитал android.net.TrafficStats.java
, он вызывает собственные методы в android_net_TrafficStats.cpp
, а собственные методы читают статистику трафика из некоторых файлов:
все файлы статистики трафика находятся в папке /sys/class/net/
, в этой папке есть несколько подпапок, таких как: eth0, ip6tnl0, rmnet0, rmnet1, rmnet2, rmnet3., Файлы подробной статистики сохраняются в этих папках..
файлы статистики трафика для каждого приложения находятся в /proc/uid_stat/[uid]/
Мои вопросы:
Сделать папку rmnet0, rmnet1, rmnet2, rmnet3..
.соответствовать каждому APN?Если да, каково правило соответствия?если нет, как я могу получить статистику трафика каждой APN?
В папке /proc/uid_stat/[uid]/,
есть только два файла: tcp_rcv
и tcp_snd
, как я могу получить каждыйприменение на каждой APN статистики трафика?