Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android助手类->;空指针异常_Java_Android_Nullpointerexception_Helper - Fatal编程技术网

Java Android助手类->;空指针异常

Java Android助手类->;空指针异常,java,android,nullpointerexception,helper,Java,Android,Nullpointerexception,Helper,我想问: 在我的AppHelper类中,我有以下检查internet连接可用性的方法 public boolean checkInternetConnection(Context ctx) { ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); // test for connection if (cm.getActiveNetwork

我想问:

在我的AppHelper类中,我有以下检查internet连接可用性的方法

public boolean checkInternetConnection(Context ctx) {
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    // test for connection
    if (cm.getActiveNetworkInfo() != null
            && cm.getActiveNetworkInfo().isAvailable()
            && cm.getActiveNetworkInfo().isConnected()) {
        return true;
    } else {
        Log.i(GlobalApplication.APP_LOG_NAMESPACE, "Internet Connection Not Present");
        return false;
    }
}
我正在尝试使用以下方法获取布尔值:

// check internet connection and availability
        Boolean isConnectionAvailable = appHelper.checkInternetConnection(getBaseContext());
但不幸的是,我总是得到空指针异常。这是传递的应用程序上下文的问题吗?我应该如何解决这个问题


谢谢你的建议

我要说的是,AppHelper类是一个独立的活动,它从来没有正确地启动过

如果是这样,我会将AppHelper作为服务而不是活动来实现,因为“checkInternetConnection”方法更适合这种类型的任务


服务是否在自己的进程中运行取决于手头的特定问题。

getBaseContext()
几乎总是使用错误的上下文。但是一定要从logcat发布完整的stacktrace,并显示您在哪里初始化
appHelper
。正如前面所说的,还有一个标准问题:您的清单中是否有
(不能是关于上下文的,因为您没有使用传入的上下文进行任何操作。)您甚至不说在哪一行中有空指针异常。这是你必须看的第一件事。我想知道人们如何在不阅读日志或使用调试工具的情况下编程…@Jiri粘贴到这里时一定错过了这一点。我打赌它应该是
ctx.getSystemService