使用 NetworkCapabilities class 在 Android 中获取上传和下载带宽

Getting upload and Download bandwidth in Android using NetworkCapabilities class

我正在做一个小型视频流 application.I 想获得网络的上传和下载速度 Android.i 发现我们可以通过使用 Android NetworkCapabilities class 提供函数

getLinkDownstreamBandwidthKbps()
Retrieves the downstream bandwidth for this network in Kbps. 
This always only refers to the estimated first hop transport bandwidth.

getLinkUpstreamBandwidthKbps ()
Retrieves the upstream bandwidth for this network in Kbps. 
This always only refers to the estimated first hop transport bandwidth.

1.What first hop 是什么意思?

2.How使用them.Please提供一些link参考,我们如何使用它们?

如果您在 Activity 中,您可以通过以下方式获取信息:

ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
Network[] networks = cm.getAllNetworks();
...cycle or choose a network...
NetworkCapabilities capabilities = cm.getNetworkCapabilities(network);

第一跳意味着它是对您 link 能力的估计,而不是当您的流量通过网络路由到达您的端点时您将获得的带宽的估计。请注意,此方法可从 Lollipop 获得。