1 2 3 4 5 6 7 8 9 10 |
import android.app.usage.NetworkStatsManager; private NetworkStatsManager networkStatsManager; networkStatsManager = (NetworkStatsManager) context.getApplicationContext().getSystemService(NETWORK_STATS_SERVICE); NetworkStats.Bucket bucket = null; bucket = networkStatsManager.querySummaryForDevice(ConnectivityManager.TYPE_MOBILE, telephonyManager.getSubscriberId(), monthStart, System.currentTimeMillis()); Logger.i("month Total rx: " + bucket.getRxBytes() +" tx = " + bucket.getTxBytes()); bucket = networkStatsManager.querySummaryForDevice(ConnectivityManager.TYPE_MOBILE, telephonyManager.getSubscriberId(), todayStart, System.currentTimeMillis()); Logger.i("today Total rx: " + bucket.getRxBytes() +" tx = " + bucket.getTxBytes()); |
使用networkStatsManager.querySummaryForDevice接口来获取,此接口的定义为
1 |
public Bucket querySummaryForDevice(int networkType, String subscriberId, long startTime, long endTime) |
参数为
1、获取接口类型,TYPE_MOBILE和TYPE_WIFI等
2、subid,此参数为空时无法获取流量信息,我使用的是 telephonyManager.getSubscriberId()来获取的
3、起始时间点
4、结束时间点,System.currentTimeMillis()为当前时间戳
参考网址:
https://blog.csdn.net/w7849516230/article/details/71705835