Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.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
Java 连接到移动网络时,如何获得连接速度?_Java_Android - Fatal编程技术网

Java 连接到移动网络时,如何获得连接速度?

Java 连接到移动网络时,如何获得连接速度?,java,android,Java,Android,我正在尝试获取移动和WiFi连接的连接速度。我有无线网络。现在我需要帮助找出移动连接 这是我到目前为止所拥有的 public void internetConnectionSpeed(Context context) { Boolean isConnected = false; getConnectionStatus = "Not Connected!"; ConnectivityManager cm = (ConnectivityManager) context.ge

我正在尝试获取移动和WiFi连接的连接速度。我有无线网络。现在我需要帮助找出移动连接

这是我到目前为止所拥有的

public void internetConnectionSpeed(Context context) {
    Boolean isConnected = false;
    getConnectionStatus = "Not Connected!";

    ConnectivityManager cm = (ConnectivityManager) context.getSystemService(context.CONNECTIVITY_SERVICE);
      if (cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED || (cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED)) {
          isConnected = true;
          getConnectionStatus = "Connected!";

          if (isConnected.equals(true)) {
              WifiManager wifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE);
              WifiInfo wifiInfo = wifiManager.getConnectionInfo();
              int speedMbps = wifiInfo.getLinkSpeed();
              getConnectionStatus = Integer.toString(speedMbps) + " Mbps";

              //Now I need equivalent code for Mobile Network...
          }

      }else {
          isConnected = false;
          getConnectionStatus = "Not Connected!";
      }
}
有什么想法吗?谢谢

ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    boolean   connected = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED;

if(connected){//todo}
您无法直接获得wifimanager提供的网络速度。你需要 在地址中ping并计算响应时间。遵循以下步骤:

您无法直接获得wifimanager提供的网络速度。你需要 在地址中ping并计算响应时间。遵循以下步骤: