Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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上出现NullPointerException_Java_Android_Nullpointerexception - Fatal编程技术网

Java 当另一个应用程序执行时,在android上出现NullPointerException

Java 当另一个应用程序执行时,在android上出现NullPointerException,java,android,nullpointerexception,Java,Android,Nullpointerexception,在主应用程序中,当我执行另一个应用程序时,出现NullPointerException 这是一只长尾猫 java.lang.RuntimeException: Unable to start activity ComponentInfo{kr.co.iosystem.blackeyeonandroid/kr.co.iosystem.blackeyeonandroid.BlackEyeActivity}: java.lang.NullPointerException android.app.Ac

在主应用程序中,当我执行另一个应用程序时,出现NullPointerException

这是一只长尾猫

java.lang.RuntimeException: Unable to start activity ComponentInfo{kr.co.iosystem.blackeyeonandroid/kr.co.iosystem.blackeyeonandroid.BlackEyeActivity}: 
java.lang.NullPointerException
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
android.app.ActivityThread.access$800(ActivityThread.java:135)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loop(Looper.java:136)
android.app.ActivityThread.main(ActivityThread.java:5001)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:515)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
dalvik.system.NativeStart.main(Native Method)

Caused by: java.lang.NullPointerException
android.app.Instrumentation.execStartActivity(Instrumentation.java:1417)
android.app.Activity.startActivityForResult(Activity.java:3424)
android.app.Activity.startActivityForResult(Activity.java:3385)
android.app.Activity.startActivity(Activity.java:3627)
android.app.Activity.startActivity(Activity.java:3595)
kr.co.iosystem.blackeyeonandroid.BlackEyeActivity.netCheckAutoUpdate(BlackEyeActivity.java:479)
kr.co.iosystem.blackeyeonandroid.BlackEyeActivity.onCreate(BlackEyeActivity.java:147)
android.app.Activity.performCreate(Activity.java:5231)
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) E/AndroidRuntime( 2678):     ... 11 more
还有我的密码

protected static Context mainContext =null;

@Override   
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main);
netCheckAutoUpdate();   //NullPointerException 
}



public void netCheckAutoUpdate() {
ConnectivityManager connectivityManager = (ConnectivityManager)   this.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ethernet = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_ETHERNET);
NetworkInfo wifi = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if (wifi.isConnected()) {
        Intent intent = mainContext.getPackageManager().getLaunchIntentForPackage("package name");
        startActivity(intent);    //NullPointerException

} else if (ethernet.isConnected()) {
        Intent intent = mainContext.getPackageManager().getLaunchIntentForPackage("package name");
        startActivity(intent);     //NullPointerException


} else {
        Intent intent = mainContext.getPackageManager().getLaunchIntentForPackage("package name");
        startActivity(intent);    //NullPointerException


}
}
也许,我必须使用空检查

如果正确,如何使用空检查? mainContext是全局变量

当我连接wifi时。发生NullPointerException 这部分

  NetworkInfo wifi = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

  if (wifi.isConnected()) {
        Intent intent =         mainContext.getPackageManager().getLaunchIntentForPackage("kr.co.iosystem.be_update");
        startActivity(intent);

  }
换句话说,

 `startActivity(intent)` here occur NullPointerException.
我从舱单上得到了适当的许可

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>

您的
mainContext
为空,无法获取包,因为
mainContext
没有您的上下文

尝试使用
getContext()/this
或者如果使用fragment
getActivity()

有关上下文的详细信息: