检测android中的慢速互联网连接
我已经开发了Android应用程序,当它使用WiFi时,它运行良好。 当有合适的蜂窝网络时,它也能工作。 但问题是,当信号弱时(连接仍处于活动状态),则存在问题 在数据加载到活动之前,我一直使用加载程序。 现在如何确定互联网连接速度慢,因为我必须向用户提供一些信息,说明互联网连接速度慢。检测android中的慢速互联网连接,android,eclipse,Android,Eclipse,我已经开发了Android应用程序,当它使用WiFi时,它运行良好。 当有合适的蜂窝网络时,它也能工作。 但问题是,当信号弱时(连接仍处于活动状态),则存在问题 在数据加载到活动之前,我一直使用加载程序。 现在如何确定互联网连接速度慢,因为我必须向用户提供一些信息,说明互联网连接速度慢。 有人可以帮忙吗?您可以使用android.net软件包的TrafficStats获取应用程序传输的数据总量。然后,您可以检测每秒传输的数据量,从而确定网络链接的速度 trafficStats = new
有人可以帮忙吗?您可以使用
android.net
软件包的TrafficStats
获取应用程序传输的数据总量。然后,您可以检测每秒传输的数据量,从而确定网络链接的速度
trafficStats = new TrafficStats();
uid = android.os.Process.myUid();
if(trafficStats.getUidRxBytes(uid) != trafficStats.UNSUPPORTED) {
initialBytesCount = trafficStats.getUidTxBytes(uid) / 1024;
} else{
uid = -1;
}
startTime = System.currentTimeMillis();
TimerTask task = new TimerTask() {
@Override
public void run() {
linkSpeed = trafficStats.getUidTxBytes(uid) / 1024 - initialBytesCount;
runOnUiThread(new Runnable() {
@Override
public void run() {
transferRate = 0;
long recordedTime = (System.currentTimeMillis() - startTime) / 1000;
try {
transferRate = linkSpeed / recordedTime;
Log.i("TransferRate", transferRate + "");
}catch (Exception e){
}
}
});
}
};
netWorkSpeedTimer = new Timer();
netWorkSpeedTimer.scheduleAtFixedRate(task, 1000, 1000);
如果用户有稳定的连接,而您只想测试连接是否因您的目的而变慢,您可以通过从服务器下载测试文件并停止所需时间来实施简单的speedtest。因此,您可以设置文件需要下载的最长时间,如果超过此最长时间,则客户端的连接速度太慢。可能每秒都在跟踪数据。您能提供一些相同的代码片段吗?检查此项是否有助于在安卓中查找不同的连接类型:谢谢回复arjun…但是如何使用这个参数,即我从代码中使用什么参数来确定慢速互联网连接。我使用的是http请求-响应,那么关系是什么呢?
transferRate
给出了以kbps为单位的链接速度,从中可以确定慢速连接