まず、Androidでのネットワークデータのカウントはそれほど簡単ではありません。この情報をクリーンな方法で提供するAPIがないためです。アプリ開発者は、いくつかのLinux内部および他の問題に取り組む必要があります。これが、ほとんどのトラフィックカウントアプリがすべてのハードウェア/ソフトウェアの組み合わせで機能しない理由です。たとえば、私はEclairで動作するアプリを持っていましたが、Galaxy SでGingerbreadでの動作を停止しました。
Androidは、APIレベル11(Honeycomb)のLong Term Evolution(4G)サポートを導入しました。ほとんどのトラフィックカウンターは、基になるLinuxネットワークインターフェイスからボリューム情報を読み取ります。AFAIKには2つのインターフェイスしかありません。1つはWifi用で、もう1つは2G / 3G / 4G用です。つまり、
- 2G / 3Gから分離された4Gデータを監視するのは難しいでしょう
- アプリが2G / 3Gを監視していると言った場合、これには4Gも含まれている可能性が高い
- Android 4G APIは比較的新しいものです。可能であれば、個別のトラフィックカウントを含むサポートが近い将来にアプリにヒットします。
以下は、私のGalaxy Sでのインターフェースとそのトラフィックを示すリストの例です。pdp0はモバイルで、eth0は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