Android-检测慢速网络连接
创始人
2024-08-19 19:00:47
0

以下是一种使用 ConnectivityManager 类检测慢速网络连接的方法:

private boolean isSlowConnection(Context context) {
   ConnectivityManager cm =
   (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

   if (cm == null) {
      return false;
   }

   NetworkInfo info = cm.getActiveNetworkInfo();
   if (info == null || !info.isConnected()) {
      return false;
   }

   if (info.getType() == ConnectivityManager.TYPE_WIFI) {
      return false;
   }

   //此处设置慢速网络的阈值(kbps)
   int minimumSpeedThreshold = 50;
   int connectionSpeed = info.getSubtype();
    switch (connectionSpeed) {
        case TelephonyManager.NETWORK_TYPE_1xRTT:
            return minimumSpeedThreshold <= 50; 
        case TelephonyManager.NETWORK_TYPE_CDMA:
            return minimumSpeedThreshold <= 14; 
        case TelephonyManager.NETWORK_TYPE_EDGE:
            return minimumSpeedThreshold <= 50; 
        case TelephonyManager.NETWORK_TYPE_EVDO_0:
            return minimumSpeedThreshold <= 400; 
        case TelephonyManager.NETWORK_TYPE_EVDO_A:
            return minimumSpeedThreshold <= 600; 
        case TelephonyManager.NETWORK_TYPE_GPRS:
            return minimumSpeedThreshold <= 100; 
        case TelephonyManager.NETWORK_TYPE_HSDPA:
            return minimumSpeedThreshold <= 2 * 1000; 
        case TelephonyManager.NETWORK_TYPE_HSPA:
            return minimumSpeedThreshold <= 700; 
        case TelephonyManager.NETWORK_TYPE_UMTS:
            return minimumSpeedThreshold <= 400; 
        case TelephonyManager.NETWORK_TYPE_EHRPD:
            return minimumSpeedThreshold <= 1 * 1000; 
        case TelephonyManager.NETWORK_TYPE_EVDO_B:
            return minimumSpeedThreshold <= 5 * 1000; 
        case TelephonyManager.NETWORK_TYPE_HSPAP:
            return minimumSpeedThreshold <= 10 * 1000; 
        case TelephonyManager.NETWORK_TYPE_IDEN:
            return minimumSpeedThreshold <= 25; 
        case TelephonyManager.NETWORK_TYPE_LTE:
            return minimumSpeedThreshold <= 10 * 1000; 
        case TelephonyManager.NETWORK_TYPE_UNKNOWN:
        default:
            return false;
    }
}

以上方法将以kbps为单位测量数据速度并将其与最小速度阈值进行比较。您可以更改 minimumSpeedThreshold 变量的值以设置自己的阈值。对于WiFi连接,此方法总是返回 false。只有移动数据连接才会引发

相关内容

热门资讯

透视辅助!红龙扑克好像有挂,红... 透视辅助!红龙扑克好像有挂,红龙扑克原来有挂(详细辅助器教程)(1)透视辅助!红龙扑克好像有挂,红龙...
黑科技辅助!wepOkE都是真... 黑科技辅助!wepOkE都是真的有挂,Wepoke盈利切实是有挂(详细有辅助挂教程);亲,关键说明,...
透视辅助!WpK透视辅助软件,... 透视辅助!WpK透视辅助软件,wpk专用一贯存在有挂(详细辅助挂教程)1、首先打开最新版本,在首页我...
必备攻略!红龙扑克ai,红龙扑... 必备攻略!红龙扑克ai,红龙扑克确实存在有挂(详细辅助挂教程)是一款可以让一直输的玩家,快速成为一个...
黑科技辅助!wepoke系统,... 黑科技辅助!wepoke系统,(wepoke安卓版)切实真的有挂(详细有挂教程)1、很好的工具软件,...
黑科技辅助!wepOKE确实存... 黑科技辅助!wepOKE确实存在有挂,Wepoke德州版一直有挂(详细黑科技教程)1、全新机制【软件...
玩家交流!德扑之星辅助脚本,德... 玩家交流!德扑之星辅助脚本,德扑安卓果然真的有挂(详细创建教程);1、全新机制【软件透明挂】2、全新...
透视辅助!aapoker ai... 透视辅助!aapoker ai软件,aapoker有外挂其实是真的有挂(详细辅助教程)1、每个玩家都...
透视辅助!微扑克辅助神器,(微... 您好,这款游戏可以开挂的,确实是有挂的,需要了解加微【757446909】很多玩家在这款游戏中打牌都...
透视辅助!AAPOKEr一直是... 透视辅助!AAPOKEr一直是有挂,aa扑克辅助原来是真的有挂(详细俱乐部教程)运aa扑克辅助辅助工...