以编程方式获取WiFi/移动网络数据速度

15

我该如何在我的应用程序中以编程方式获取Wi-Fi/移动网络的数据速度。


3
尝试打开一个套接字并从某个地方下载一些字节(比如256kb),然后测量下载完成所需的时间。 - Ziv Kesten
那么你找到了什么?我想要检查网络速度并根据情况设置图像或视频的URL。例如,如果网络速度在 50kbps - 150 kbps 之间,链接1;在 150kbps - 500kbps 之间,链接2;而在 >500kbps 时,链接3。那么如何实现这个功能呢? - Bhavin Patel
1个回答

19

这是获取WiFi速度的代码:

WifiManager wifiManager = getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
if (wifiInfo != null) {
    Integer linkSpeed = wifiInfo.getLinkSpeed(); //measured using WifiInfo.LINK_SPEED_UNITS
}

关于移动网络速度,请参考以下链接:

http://www.gregbugaj.com/?p=47


2
也许它能提供最大的速度... - Mansuu....
2
非静态方法 'getSystemService',请帮我解决这个问题。@Mansuu... - Shahid Karimi
1
在你编写这个方法的任何地方,传递一个Context的引用以获取WiFi速度。 - Mansuu....

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接