Primeiro, deixe-me dizer que a contagem de dados de rede no Android não é tão fácil, porque não existe uma API que forneça essas informações de maneira limpa. Os desenvolvedores de aplicativos precisam trabalhar com alguns componentes internos do Linux e outros problemas. É por isso que a maioria dos aplicativos de contagem de tráfego não funciona em todas as combinações de hardware / software. Por exemplo, eu tinha um aplicativo que funcionava com a Eclair, mas parou de trabalhar com o Gingerbread no meu Galaxy S.
O Android introduziu o suporte a Long Term Evolution (4G) com o nível 11 da API (Honeycomb). A maioria dos contadores de tráfego lê suas informações de volume na interface de rede linux subjacente. AFAIK, existem apenas duas interfaces, uma para Wifi e outra 2G / 3G / 4G, o que significa:
- Será difícil monitorar dados 4G separados de 2G / 3G
- Se um aplicativo diz que monitora 2G / 3G, é muito provável que isso também inclua 4G
- A API 4G do Android é relativamente nova. O suporte, incluindo a contagem de tráfego separada (se possível), atingirá os aplicativos em um futuro próximo.
Aqui está um exemplo de lista que mostra as interfaces e seu tráfego no meu Galaxy S. pdp0 é o celular e eth0 é a interface wifi :
Interface name: lo
Bytes in: 204335770
Bytes out: 204335770
Interface name: svnet0
Bytes in: 669002
Bytes out: 38238
Interface name: ifb0
Bytes in: 0
Bytes out: 0
Interface name: ifb1
Bytes in: 0
Bytes out: 0
Interface name: usb0
Bytes in: 0
Bytes out: 0
Interface name: sit0
Bytes in: 0
Bytes out: 0
Interface name: ip6tnl0
Bytes in: 0
Bytes out: 0
Interface name: eth0
Bytes in: 9981470
Bytes out: 3524023
Interface name: pdp0
Bytes in: 1421620
Bytes out: 361198