想要開發(fā)應(yīng)用流量統(tǒng)計(jì)蛹锰,首先要先了解Android api 給我們的一些關(guān)于流量統(tǒng)計(jì)的方法
經(jīng)研究TrafficStats為Google 開放的關(guān)于流量的方法
ActivityManager activityManager = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningAppProcessInfo appProcess : activityManager
.getRunningAppProcesses()) {
LogUtil.i("process=" + appProcess.processName + "-" + appProcess.uid);
}
/** 獲取手機(jī)通過 2G/3G 接收的字節(jié)流量總數(shù) */
TrafficStats.getMobileRxBytes();
/** 獲取手機(jī)通過 2G/3G 接收的數(shù)據(jù)包總數(shù) */
TrafficStats.getMobileRxPackets();
/** 獲取手機(jī)通過 2G/3G 發(fā)出的字節(jié)流量總數(shù) */
TrafficStats.getMobileTxBytes();
/** 獲取手機(jī)通過 2G/3G 發(fā)出的數(shù)據(jù)包總數(shù) */
TrafficStats.getMobileTxPackets();
/** 獲取手機(jī)通過所有網(wǎng)絡(luò)方式接收的字節(jié)流量總數(shù)(包括 wifi) */
TrafficStats.getTotalRxBytes();
/** 獲取手機(jī)通過所有網(wǎng)絡(luò)方式接收的數(shù)據(jù)包總數(shù)(包括 wifi) */
TrafficStats.getTotalRxPackets();
/** 獲取手機(jī)通過所有網(wǎng)絡(luò)方式發(fā)送的字節(jié)流量總數(shù)(包括 wifi) */
TrafficStats.getTotalTxBytes();
/** 獲取手機(jī)通過所有網(wǎng)絡(luò)方式發(fā)送的數(shù)據(jù)包總數(shù)(包括 wifi) */
TrafficStats.getTotalTxPackets();
/** 獲取手機(jī)指定 UID 對應(yīng)的應(yīng)程序用通過所有網(wǎng)絡(luò)方式接收的字節(jié)流量總數(shù)(包括 wifi) */
TrafficStats.getUidRxBytes(uid);
/** 獲取手機(jī)指定 UID 對應(yīng)的應(yīng)用程序通過所有網(wǎng)絡(luò)方式發(fā)送的字節(jié)流量總數(shù)(包括 wifi) */
TrafficStats.getUidTxBytes(uid);
下一節(jié)將對具體的某一個(gè)應(yīng)用流量消耗統(tǒng)計(jì)的開發(fā)論述