2016-05-17 7 views
-2

メインアプリで、別のアプリを実行すると、NullPointerExceptionが発生します。別のアプリを実行すると、アンドロイドでNullPointerExceptionが発生する

このlogcatここ

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 


} 
} 

おそらく、nullチェックを使用する必要がありますか?

これが正しい場合は、どのようにヌルチェックを使用しますか? mainContextはグローバル変数

私は無線LANを接続します。私は、マニフェストからの適切な権限他の言葉で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. 

を発生します。あなたのmainContext

<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"/> 

答えて

関連する問題