android– 检查wifi连接的质量?

android– 检查wifi连接的质量?,第1张

概述我遇到的情况是,当我关闭了4G并连接到某个wifi接入点但没有发送或接收数据的能力时,用于检查网络连接的标志设置为如下所示.NetworkInfoni=context.getActiveNetworkInfo();booleanflag=ni.isConnected();在这种情况下,我显然应该放弃wifi并打开我的4G,换句话说转而使用

我遇到的情况是,当我关闭了4G并连接到某个wifi接入点但没有发送或接收数据的能力时,用于检查网络连接的标志设置为如下所示.

NetworkInfo ni = context.getActiveNetworkInfo();boolean flag = ni.isConnected();

在这种情况下,我显然应该放弃wifi并打开我的4G,换句话说转而使用我的4g而不是wifi网络.
但我如何检查无线连接的质量?

解决方法:

您可以使用此代码检查移动网络中的速度,

import androID.content.Context;import androID.net.ConnectivityManager;import androID.net.NetworkInfo;import androID.telephony.TelephonyManager;public class Connectivity {    /*     * HackISH: These constants aren't yet available in my API level (7), but I need to handle these cases if they come up, on newer versions     */    public static final int NETWORK_TYPE_EHRPD=14; // Level 11    public static final int NETWORK_TYPE_EVDO_B=12; // Level 9    public static final int NETWORK_TYPE_HSPAP=15; // Level 13    public static final int NETWORK_TYPE_IDEN=11; // Level 8    public static final int NETWORK_TYPE_LTE=13; // Level 11    /**     * Check if there is any connectivity     * @param context     * @return     */    public static boolean isConnected(Context context){        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo info = cm.getActiveNetworkInfo();        return (info != null && info.isConnected());    }    /**     * Check if there is fast connectivity     * @param context     * @return     */    public static boolean isConnectedFast(Context context){        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo info = cm.getActiveNetworkInfo();        return (info != null && info.isConnected() && Connectivity.isConnectionFast(info.getType(),info.getSubtype()));    }    /**     * Check if the connection is fast     * @param type     * @param subType     * @return     */    public static boolean isConnectionFast(int type, int subType){        if(type==ConnectivityManager.TYPE_WIFI){            System.out.println("CONNECTED VIA WIFI");            return true;        }else if(type==ConnectivityManager.TYPE_MOBILE){            switch(subType){            case TelephonyManager.NETWORK_TYPE_1xRTT:                return false; // ~ 50-100 kbps            case TelephonyManager.NETWORK_TYPE_CDMA:                return false; // ~ 14-64 kbps            case TelephonyManager.NETWORK_TYPE_EDGE:                return false; // ~ 50-100 kbps            case TelephonyManager.NETWORK_TYPE_EVDO_0:                return true; // ~ 400-1000 kbps            case TelephonyManager.NETWORK_TYPE_EVDO_A:                return true; // ~ 600-1400 kbps            case TelephonyManager.NETWORK_TYPE_GPRS:                return false; // ~ 100 kbps            case TelephonyManager.NETWORK_TYPE_HSDPA:                return true; // ~ 2-14 Mbps            case TelephonyManager.NETWORK_TYPE_HSPA:                return true; // ~ 700-1700 kbps            case TelephonyManager.NETWORK_TYPE_HSUPA:                return true; // ~ 1-23 Mbps            case TelephonyManager.NETWORK_TYPE_umts:                return true; // ~ 400-7000 kbps            // NOT AVAILABLE YET IN API LEVEL 7            case Connectivity.NETWORK_TYPE_EHRPD:                return true; // ~ 1-2 Mbps            case Connectivity.NETWORK_TYPE_EVDO_B:                return true; // ~ 5 Mbps            case Connectivity.NETWORK_TYPE_HSPAP:                return true; // ~ 10-20 Mbps            case Connectivity.NETWORK_TYPE_IDEN:                return false; // ~25 kbps             case Connectivity.NETWORK_TYPE_LTE:                return true; // ~ 10+ Mbps            // UnkNown            case TelephonyManager.NETWORK_TYPE_UNKNowN:                return false;             default:                return false;            }        }else{            return false;        }    } }
总结

以上是内存溢出为你收集整理的android – 检查wifi连接的质量?全部内容,希望文章能够帮你解决android – 检查wifi连接的质量?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1105916.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存