Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检测android中的慢速互联网连接_Android_Eclipse - Fatal编程技术网

检测android中的慢速互联网连接

检测android中的慢速互联网连接,android,eclipse,Android,Eclipse,我已经开发了Android应用程序,当它使用WiFi时,它运行良好。 当有合适的蜂窝网络时,它也能工作。 但问题是,当信号弱时(连接仍处于活动状态),则存在问题 在数据加载到活动之前,我一直使用加载程序。 现在如何确定互联网连接速度慢,因为我必须向用户提供一些信息,说明互联网连接速度慢。 有人可以帮忙吗?您可以使用android.net软件包的TrafficStats获取应用程序传输的数据总量。然后,您可以检测每秒传输的数据量,从而确定网络链接的速度 trafficStats = new

我已经开发了Android应用程序,当它使用WiFi时,它运行良好。 当有合适的蜂窝网络时,它也能工作。 但问题是,当信号弱时(连接仍处于活动状态),则存在问题

在数据加载到活动之前,我一直使用加载程序。 现在如何确定互联网连接速度慢,因为我必须向用户提供一些信息,说明互联网连接速度慢。
有人可以帮忙吗?

您可以使用
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为单位的链接速度,从中可以确定慢速连接