-

场景介绍

应用通过调用 API 接口,可以获取蜂窝网络、所有网卡、指定应用或指定网卡的数据流量统计值。

接口说明

应用进行流量统计,所使用的接口主要由 DataFlowStatistics 提供。

接口名 功能描述
getCellularRxBytes() 获取蜂窝数据网络的下行流量。
getCellularTxBytes() 获取蜂窝数据网络的上行流量。
getAllRxBytes() 获取所有网卡的下行流量。
getAllTxBytes() 获取所有网卡的上行流量。
getUidRxBytes(int uid) 获取指定UID的下行流量。
getUidTxBytes(int uid) 获取指定UID的上行流量。
getIfaceRxBytes(String nic) 获取指定网卡的下行流量。
getIfaceTxBytes(String nic) 获取指定网卡的上行流量。

开发步骤

调用 DataFlowStatistics 的接口可进行流量统计,以统计指定应用进程的流量为例。

long rx = DataFlowStatistics.getUidRxBytes(uid);
long tx = DataFlowStatistics.getUidTxBytes(uid);

 
// 进行数据收发

 
// 统计流量
rx = DataFlowStatistics.getUidRxBytes(uid) - rx;
tx = DataFlowStatistics.getUidTxBytes(uid) - tx;