智能手机从java中的http标头识别网络强度?

时间:2013-12-18 06:31:34

标签: java servlets mobile tapestry

我正在使用Tapestry Java开发一个Web应用程序。我在智能手机浏览器中运行它。我想确定呼叫设备的网络信号强度(即,它是2g还是3g ..)有什么办法吗?

1 个答案:

答案 0 :(得分:0)

我非常确定浏览器不提供对信号强度的访问(通过javascript API或请求标头)。

如果您想了解数据速度有多快,您可以在javascript中发送图像请求,并计算下载所需的时间。然后,您可以将其保存在cookie中或传递值服务器并存储在HTTPSession中。

例如:

var download = new Image();
var startTime;
download.onload = function () {
    var endTime = (new Date()).getTime();
    var duration = endTime - startTime
    alert("Download took " + duration);
}
startTime = (new Date()).getTime();
download.src = "http://foo.bar.com/myImage.jpg?random=" + Math.random();

如果您真的想要访问设备上的信号强度,我认为您需要在手机上安装应用程序。我猜测phonegap有一个javascript API来访问此值。