场景介绍
应用通过调用 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;