モバイルデータの使用量を計算しようとしているので、3G 接続について通知するブロードキャストを使用してから、 を実行しServiceてデータをカウントします。
問題は、計算値が常に Android データ使用量の既定のアプリで計算された値よりも小さいことです。
コードは次のとおりです。
long now = TrafficStats.getMobileRxBytes();
long before = now;
do {
now = TrafficStats.getMobileRxBytes() ;
Diffnow = now - before;
SystemClock.sleep(500);
}while ((cm.getActiveNetworkInfo() != null) && (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE));
Log.i(TAG,"delta = "+(float)Diffnow/(1024*1024));