У меня следующая проблема.У меня есть 2 класса.1 называется AlarmService, а другой - TimeAlarm, который расширяет BroadcastReceiver.Приложение должно сделать следующее: оно должно генерировать новый сигнал тревоги на время, указанное в настройках (что оно уже делает ...), также в Logcat, я могу видеть, как срабатывает сигнал тревоги.Но проблема в том, что уведомление, которое должно отображаться, не отображается на панели состояния.
Вот весь код, который у меня есть для этого:
AndroidManifest.xml:
<receiver android:name="com.ikalma.alarmmanager.TimeAlarm">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
AlarmService.java:
private Context context;
private PendingIntent mAlarmSender;
public AlarmService(Context context) {
this.context = context;
Intent notifyIntent = new Intent(Intent.ACTION_MAIN);
notifyIntent.setClass(context, myActivity.class);
mAlarmSender = PendingIntent.getBroadcast(context, 0, notifyIntent, 0);
}
public void startAlarm(int stunde, int minute) {
Calendar updateTime = Calendar.getInstance();
updateTime.set(Calendar.HOUR_OF_DAY, stunde);
updateTime.set(Calendar.MINUTE, minute);
updateTime.set(Calendar.SECOND, 00);
AlarmManager am = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, updateTime.getTimeInMillis(),
AlarmManager.INTERVAL_DAY, mAlarmSender);
}
TimeAlarm.java:
@Override
public void onReceive(Context context, Intent intent) {
Log.e("TEST", "onReceive() called...");
}
Получатель в манифесте находится внутри тега, поэтому проблем не должно быть.Проблема в том, что если я перезагружаю свое устройство, оно вызывается.Но не в случае срабатывания будильника.Но метод onReceive () также следует вызывать, если срабатывает тревога, не так ли?
Спасибо за помощь!