我正在开发一个应用程序,它几乎完成除了一件事:我不知道如何获得链接速度并将其放在状态栏中。我是Java的新手,所以如果有人可以帮助我,我会非常感激 附:抱歉英语不好。
答案 0 :(得分:34)
正如回复者所说,你的问题不是很明确。您可能指的是链路连接速度(即高达54 Mbps,信号接收良好Wifi或全速HSDPA高达7.2 Mbps),具体取决于:
在这种情况下,我担心没有标准的Java API方法可以了解它,但Android API需要的功能:
在您引用当前(下载/上传)数据链接速度的其他情况下,这仅适用于较高级别,实际上不是测量链接速度,而是测量手机和手机之间的速度服务器,不仅可以通过您的链接速度来决定,还可以通过许多其他因素(您的手机与服务器,服务器本身等之间的所有链接)来确定。您可以只测量“HTTP级别速度”,这意味着HTTP数据速度(省略数据包的开销流量),因为通常在每种情况下都只支持HTTP连接(您的运营商可能会将您隐藏在代理之外,而代理会过滤掉所有内容但HTTP交通)。
如果您使用的是8级API,则还可以使用名为TrafficStats的有趣功能。这可以让您通过移动数据链路了解手机交换的低水平发送/接收数据包,这可能只提供您所寻找的信息(使用经过时间的这些测量,您可以轻松测量当前/平均使用的数据)链接速度)。
答案 1 :(得分:2)
你无法直接说出来。您必须询问底层操作系统。对于OS X,您可以在相应的网络端口上解析“/ sbin / ifconfig”的输出。
答案 2 :(得分:1)
您也可以使用JNI编写扩展,并使用C询问连接速度。如果您不想解析来自其他应用程序的输出,以防万一,请记住此解决方案不可移植。