Я делаю приложение, где пользователь может поставить будильник на основе местоположения GPS. Я только хочу, чтобы 1 предупреждение было активно в любой момент. Так, когда пользователь поставил 2-й будильник, я хочу отменить уведомление для 1-го предупреждения (затем устанавливает новое уведомление для 2-го предупреждения).
Прямо сейчас мои уведомления продолжают складывать (как в, я не могу удалить их, таким образом, они все активны). Вот мой код, где я пытаюсь удалить предупреждение и уведомление (уведомления):
// Stop the location alarm activity
Intent intentAlarmService_delete = new Intent(v.getContext(), AlarmService.class);
stopService(intentAlarmService_delete); // I think this calls onDestroy() in AlarmService class ...
mNtf = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
mNtf.cancelAll();
Intent alarmIntent2 = new Intent(getApplicationContext(), OneTimeAlarmReceiver.class);
PendingIntent pendingIntentAlarm = PendingIntent.getBroadcast(getApplicationContext(), PENDING_INTENT_REQUEST_CODE1,
alarmIntent2, PendingIntent.FLAG_CANCEL_CURRENT);
pendingIntentAlarm.cancel();
Это - onDestroy () функция в моем AlarmService.class (я не действительно уверен, когда это называют...),
public void onDestroy(){
super.onDestroy();
mNtf.cancel(NOTIFICATION_ID1);
Intent alarmIntent = new Intent(getApplicationContext(), OneTimeAlarmReceiver.class);
PendingIntent pendingIntentAlarm = PendingIntent.getBroadcast(getApplicationContext(), PENDING_INTENT_REQUEST_CODE1,
alarmIntent, PendingIntent.FLAG_CANCEL_CURRENT);
pendingIntentAlarm.cancel();
Intent intentAlarmService = new Intent(getApplicationContext(), AlarmService.class);
stopService(intentAlarmService);
mNtf.cancel(NOTIFICATION_ID1);
mNtf.cancelAll();
}
Затем это - то, как я поставил новый будильник и уведомление:
Intent intentAlarmService2 = new Intent(v.getContext(), AlarmService.class);
startService(intentAlarmService2);
Между прочим, мой AlarmService.class работает наверняка.
Заранее спасибо.