我有一个用户NullPointerException
在我的一个 BroadcastReceiver 中得到一个堆栈跟踪如下
java.lang.RuntimeException: Unable to start receiver ecm2.android.NetworkReceiver: java.lang.NullPointerException
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2821)
at android.app.ActivityThread.access$3200(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2083)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.content.ComponentName.<init>(ComponentName.java:75)
at android.content.Intent.<init>(Intent.java:2678)
at ecm2.android.NetworkReceiver.onReceive(NetworkReceiver.java:39)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2810)
现在显然有些东西是空的,但是它指向的行是一个未决的意图,所以很难判断什么是空的
这是代码
Context c = MainActivity.getContext();
mAlarmSender2 = PendingIntent.getService(c, 0, new Intent(c, EMGNoteService.class), 0); //line that throws the error
基本上我正在尝试取消AlarmManager
已设置的内容,因此唯一可能是上下文为空正确吗?
我只是不确定,因为堆栈跟踪说的是关于的ComponentName
,Intent
所以我不知道意图是否有问题