У меня проблема с моим BroadcastReceiver.По сути, у меня в службе есть функция, которую я хочу вызывать каждые, скажем, 2 часа.Поэтому я использовал AlarmManager и Broadcast приемник, чтобы сделать это, однако, похоже, что приемник никогда не вызывается.Мой код:
в методе onCreate службы:
Intent intent5 = new Intent("MYINTENT");
sender2 = PendingIntent.getBroadcast(this, 192838, intent5, PendingIntent.FLAG_UPDATE_CURRENT);
am2 = (AlarmManager)this.getSystemService(Context.ALARM_SERVICE);
am2.setRepeating(AlarmManager.RTC_WAKEUP, Calendar.getInstance().getTimeInMillis(), 1000*60*60*2, sender2);
BroadcastReceiver connectionReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
check();
}
};
registerReceiver(connectionReceiver, new IntentFilter("MYINTENT"));
, а затем есть метод check ()
public static void check(){
//some code
}
Я также пытался создать класс, расширяющийBroadcastReceiver, зарегистрировав его в манифесте и т. Д., И он вызван, но затем я получил NullPointerException, вызывающий метод check () изнутри BroadcastReceiver.