Android检查没有上下文的连接

时间:2010-02-15 21:34:05

标签: android connection

我想知道是否可以在没有Context的情况下检查android中的连接,因为我在后台运行的线程不知道上下文。 如果没有办法,最好的做法是将上下文传递给线程吗?

感谢

3 个答案:

答案 0 :(得分:4)

是的,您需要Context。可能,您的线程已经可以访问Context了,它由Runnable提供,它使用的是ActivityService的内部类,它分叉了线程。

答案 1 :(得分:0)

您的可运行对象将在Activity或Service中运行,因此它可以访问其方法

我认为你可以做到:

OuterClassName.this.getContext();

答案 2 :(得分:0)

您可以使用以下方法

科特琳:

fun isNetworkAvailable1(): Boolean {
        val runtime = Runtime.getRuntime()
        try {
            val ipProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8")
            val exitValue = ipProcess.waitFor()
            return exitValue == 0
        } catch (e: IOException) {
            e.printStackTrace()
        } catch (e: InterruptedException) {
            e.printStackTrace()
        }
        return false
    }

Java:

public static boolean isNetworkAvailable () {
    Runtime runtime = Runtime.getRuntime();
    try {
        Process ipProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8");
        int     exitValue = ipProcess.waitFor();
        return (exitValue == 0);
    } catch (IOException e){
          e.printStackTrace();
    } catch (InterruptedException e){
          e.printStackTrace();
    }
    return false;
}