Android ConnectionManager上的null指针异常
我的应用程序类是获取应用程序上下文并在从某个类JSONParser调用.isOnline的其他地方使用它的活动,该类不是活动。isOnline由getJSONFromUrl()调用。Test是B类的方法。Test()由activity LoginActivity调用。然而,我得到了零分,不明白为什么。 是因为我以错误的方式读取了上下文,还是因为我不经意地将上下文传递给了ConnectionManager还是其他原因? 方法在线Android ConnectionManager上的null指针异常,android,nullpointerexception,connectivity,Android,Nullpointerexception,Connectivity,我的应用程序类是获取应用程序上下文并在从某个类JSONParser调用.isOnline的其他地方使用它的活动,该类不是活动。isOnline由getJSONFromUrl()调用。Test是B类的方法。Test()由activity LoginActivity调用。然而,我得到了零分,不明白为什么。 是因为我以错误的方式读取了上下文,还是因为我不经意地将上下文传递给了ConnectionManager还是其他原因? 方法在线 private static Boolean isOnline(){
private static Boolean isOnline(){
context = MyApplication.getAppContext();
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
}
return false;
}
错误
更改:
MyApplication.context = getApplicationContext();
到
如果尚未完成,请执行以下操作: 1。在清单中以应用程序名称添加应用程序类,如下所示
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:name=".MyApplication"
您的上下文即将为空。在方法中传递应用程序上下文,然后将该上下文用于引用。。它可以正常工作你能发布整个日志吗?描述中的B类是JSONParser,活动A是LoginActivityYok你能告诉我哪一行对应LoginActivity.java:144吗?您是在这里实例化ConnectionManager的吗?您在清单中有正确的权限吗?连接管理器仅在JSONParser内部的isOnline中初始化。java:144将参数发送到UserFunctions,在那里对参数进行处理并发送到JSONParseri-MyApplication.getAppContext();会给我一个合适的上下文,是不是错了?
MyApplication.context = getApplicationContext();
MyApplication.context = this;
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:name=".MyApplication"
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>