Как отменить уведомления Android?

Я делаю приложение, где пользователь может поставить будильник на основе местоположения 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 работает наверняка.

Заранее спасибо.

5
задан Yasir Malang 11 August 2010 в 18:46
поделиться