モバイルデータの使用量を計算しようとしているため、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));
このスレッドをチェックするhttp://stackoverflow.com/questions/11939939/how-can-i-find-the-data-usage-on-a-per-application-basis-on-android – AndroidRuntimeException
私はそれを以前に見ましたが、私はすべてのアプリのデータ使用量を計算するだけでいいです。答えに現れている同じ作業をしていても、まだ違いがある – Soufiane