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。只有移动数据连接才会引发

相关内容

热门资讯

苹果版三分钟!pokerwor... 苹果版三分钟!pokerworld软件德州辅助(果然真的有挂)-微博客户端1、进入游戏-大厅左侧-新...
打法五分钟!鱼扑克app ai... 打法五分钟!鱼扑克app aiwepoke辅助软件下载链接(果然真的有挂)-微博客户端;1、wepo...
软件三分钟!德州之星app辅助... 软件三分钟!德州之星app辅助器可以用微扑克有规律(本来真的有挂)-知乎1、许多玩家不知道德州之星a...
模拟器8分钟!红龙扑克真假微扑... 模拟器8分钟!红龙扑克真假微扑克私人局后台操控(的确真的有挂)-百度知乎1、起透看视 微扑克私人局后...
苹果版2分钟!线上德州有后台操... 苹果版2分钟!线上德州有后台操控德州最新辅助器(其实真的有挂)-今日头条亲,关键说明,线上德州有后台...
透明7分钟!wpk微扑克有挂微... 透明7分钟!wpk微扑克有挂微扑克数据辅助软件(其实真的有挂)-小红书;微扑克数据辅助软件辅助器中分...
透明八分钟!德扑之星隐藏功能在... 透明八分钟!德扑之星隐藏功能在哪wpk辅助机器人(原来真的有挂)-微博客户端1、完成德扑之星隐藏功能...
免费1分钟!wepoke透明挂... 免费1分钟!wepoke透明挂件aapoker透视辅助(好像真的有挂)-百度知乎1、任何aapoke...
靠谱7分钟!微扑克发牌逻辑微扑... 靠谱7分钟!微扑克发牌逻辑微扑克有机器人(好像真的有挂)-知乎1、许多玩家不知道微扑克有机器人辅助软...
私人房六分钟!governor... 私人房六分钟!governorofpoker3有挂wpk有外挂(都是真的有挂)-哔哩哔哩;1、实时g...