导航菜单

页面标题

页面副标题

管控平台 v5.2.3.0. - EDULogNetUtils.java 源代码

正在查看: 管控平台 v5.2.3.0. 应用的 EDULogNetUtils.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.iflytek.edu.apm.base.http.utils;

import android.annotation.SuppressLint;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.text.TextUtils;
import com.iflytek.edu.apm.base.utils.EDULog;

public class EDULogNetUtils {
    private static final String TAG = "EDULogNetUtils";

    public static boolean isNetAvailableSync(Context appContext, String url) {
        if (appContext == null) {
            EDULog.i(TAG, "appContext == null");
            return isNetworkOnline(url);
        }
        if (isNetworkAvailableStatus(appContext.getApplicationContext())) {
            return true;
        }
        return isNetworkOnline(url);
    }

    @SuppressLint({"MissingPermission"})
    public static boolean isNetworkAvailableStatus(Context context) {
        NetworkInfo activeNetworkInfo;
        if (context == null) {
            return false;
        }
        try {
            ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService("connectivity");
            if (connectivityManager == null || (activeNetworkInfo = connectivityManager.getActiveNetworkInfo()) == null) {
                return false;
            }
            return activeNetworkInfo.isConnected();
        } catch (Throwable th) {
            EDULog.printStackTrace(th);
            return false;
        }
    }

    private static boolean isNetworkOnline(String url) {
        Runtime runtime = Runtime.getRuntime();
        try {
            StringBuilder sb = new StringBuilder();
            sb.append("ping -c 3 ");
            if (TextUtils.isEmpty(url)) {
                url = "www.baidu.com";
            }
            sb.append(url);
            return runtime.exec(sb.toString()).waitFor() == 0;
        } catch (Throwable th) {
            EDULog.printStackTrace(th);
            return false;
        }
    }
}