У меня проблема с моим BroadcastReceiver. В принципе, у меня есть функция в моем сервисе, которую я хочу назвать каждый, скажем, 2 часа. Поэтому я использовал приемник AlarmManager и Broadcast, но похоже, что приемник никогда не вызывается. Мой код:Android - BroadcastReceiver никогда не звонил из AlarmManager
в методе 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"));
и затем есть обратный метод
public static void check(){
//some code
}
() Я также попытался создающим класс простирающегося BroadcastReceiver, зарегистрировав его в Манифест и т. Д., И его вызвали, но затем я получил исключение NullPointerException, вызывающее meteod проверки сервиса() из BroadcastReceiver.
Да, это действительно лучшее решение. Когда я наконец нашел причину этого исключения, он работал как шарм. Благодаря! – ThunderSS