Android network 检测判断


不废话直接上代码:
所涉及java 与Kotlin
检查是否联网

fun LeoNetWork() {
    if (hasNetWork(mContext) == 0) {
        //无连网
    }
}

判断当前是什么网络模式

 private void checkNetworkInf0() {

   if (hasNetWork(getApplicationContext()) == 0) {
       //未联网
   } else if (hasNetWork(getApplicationContext()) == 1) {
       //移动数据
   } else if (hasNetWork(getApplicationContext()) == 2) {
      //WIFI
   }

}

最后:

public class NetUtils {
public static int netWorkState;
public static int hasNetWork(Context context) {
    /*
     * 0 没有网络 1 移动网络 2 WIFI
     */
    // 链接管理器
    ConnectivityManager cm = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    // 获取激活的网络信息 // 需要权限
    NetworkInfo activeNetworkInfo = cm.getActiveNetworkInfo();

    if (activeNetworkInfo == null) {
        netWorkState = 0;// 没有网络
    } else {
        if (activeNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
            netWorkState = 1;
        } else if (activeNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
            netWorkState = 2;
        }
    }
    return netWorkState;
}



}

声明:本网站采用BY-NC-SA协议进行授权

版权:LeoROM丨FusionLeo内核丨三星S9丨三星S8|版权所有,违者必究|如未注明,均为原创

转载:转载请注明原文链接 - Android network 检测判断


不忘初心 方得始终