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を拡張するクラスをクリートしようとしましたマニフェストなど、呼び出されたが、BroadcastReceiver内からサービスのcheck()メテオードを呼び出すNullPointerExceptionが発生した。
ええ、それは実際には本当に良い解決策でした。私はその例外の原因をついに見つけたとき、それは魅力のように働いた。ありがとう! – ThunderSS