Я совершенно не знаком с разработкой Android, поэтому я прошу прощения перед вручением, если то, что я прошу, очень просто, я уже давно общался с вами в течение нескольких часов.NullPointerException в BroadcastReceiver
В моем MainActivity я ссылаюсь на AlarmReceiver.class в намерении, а затем на PendingIntent и, наконец, на него установлен AlarmManager. Что я делаю, чтобы установить будильник, и это работает нормально, это когда срабатывает будильник, происходит Исключение.
Intent intent = new Intent(ourContext, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(ourContext, 666, intent, 0);
AlarmManager alarmManager = (AlarmManager) ourContext.getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(), pendingIntent);
А потом в AlarmReceiver.class она простирается BroadcastReceiver, и делает вызов SDK. Эта часть кода запускается всякий раз, когда срабатывает Тревога, то есть когда выбранное время ржет, запустите этот код.
public void onReceive(Context arg0, Intent arg1) {
SDK.sendNotification(arg0, new Notification("alarm", "Top Line", "Bottom Line"), new SendNotificationListener() {
@Override
public void onSuccess(String s) {
Log.d("success", s);
}
@Override
public void onFailed(String s) {
Log.d("fail", s);
}
});
}
SendNotification принимает 3 переменные, контекст, уведомление и уведомление.
Что я смог определить, я уверен, что это NotificationListener является проблемой и вызывает ошибку.
Вот StackTrace:
Process: com.example.timer:remote, PID: 27665
java.lang.RuntimeException: Unable to start receiver com.example.timer.AlarmReceiver: java.lang.NullPointerException
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2452)
at android.app.ActivityThread.access$1700(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5146)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.example.imer.AlarmReceiver.onReceive(AlarmReceiver.java:21)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2445)
at android.app.ActivityThread.access$1700(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5146)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
at dalvik.system.NativeStart.main(Native Method)
Это строка 21:
SDK.sendNotification(arg0, new Notification("alarm", "Top Line", "Bottom Line"), new SendNotificationListener() {
Что такое «SDK» и где он инициализирован? –
И что такое линия 21? – EJP
Инициализируется в MainActivity. –