How to know device is connected to Wifi or 3G, programatically

前端 未结 2 1626
小鲜肉
小鲜肉 2020-12-16 04:37

How i can know device is connected to Wifi or 3G, programmatically

Thanks

2条回答
  •  北荒
    北荒 (楼主)
    2020-12-16 05:00

    here is my working sample:

    public boolean isNetworkTypeMobile() {
        final ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        return (cm!=null && cm.getActiveNetworkInfo()!=null && isNetworkTypeMobile(cm.getActiveNetworkInfo().getType()));
    }
    
    public static boolean isNetworkTypeMobile(int networkType) {
        switch (networkType) {
            case ConnectivityManager.TYPE_MOBILE: //0
            case ConnectivityManager.TYPE_MOBILE_MMS: //2
            case ConnectivityManager.TYPE_MOBILE_SUPL: //3
            case ConnectivityManager.TYPE_MOBILE_DUN: //4
            case ConnectivityManager.TYPE_MOBILE_HIPRI: //5
            case 10:
            case 11:
            case 12:
            case 14:
                return true;
            default:
                return false;
        }
    }
    

提交回复
热议问题