Abbrechen eines einzelnen Alarms bei mehreren Alarmen

8

Ich habe die selbe pendingIntent verwendet, um mehrere Alarme mit jeweils unterschiedlichen intentId zu setzen. Der Alarm funktioniert. Jetzt möchte ich einen bestimmten Alarm abbrechen. Wenn ich die Methode cancel () verwende, würde ich alle Alarme beenden. Ich möchte nur eine bestimmte gelöscht werden. Außerdem sollte der Benutzer in der Lage sein, diesen Alarm auch während eines zweiten oder dritten Starts abzubrechen. Wie in, wenn ich es das zweite Mal starte, werde ich nicht das selbe pendingIntent-Objekt haben. Müsste ich das pendingIntent-Objekt beibehalten? Wenn das so ist, wie? und wie kann ich einen einzelnen Alarm von mehreren Alarmen abbrechen?

    
flamesavor 16.01.2012, 08:33
quelle

2 Antworten

8

Du kannst es so machen,

In Ihrer ausstehenden Absicht können Sie eine unique ID anstelle von requestCode

übergeben %Vor%

Und zum Abbrechen können Sie die gleiche eindeutige ID verwenden, um sie abzubrechen, indem Sie die gleiche ausstehende Absicht verwenden.

%Vor%

Um mehr Informationen zu erhalten, können Sie einfach StackOverflow oder Google verwenden, für den Moment denke ich this answer wird für Sie tun. :)

    
Lalit Poptani 16.01.2012, 09:23
quelle
3

Hier ist eine Art Hack, um das mit der Erklärung zu tun.

Zunächst sollten Sie eine eindeutige Absicht für die ausstehende Absicht erstellen. Zu diesem Zweck können Sie ein benutzerdefiniertes Datenfeld der Absicht für Ihre Anwendung erstellen. Ich mache das auf folgende Weise:

%Vor%

In Ihrem Fall wird intentId Ihr eindeutiger Bezeichner der Absicht sein.

Dann erstellen Sie wie gewohnt die AlarmManager-Benachrichtigung. Um einen Alarm abzubrechen, sollten Sie die folgenden Schritte ausführen. Zunächst sollten Sie eine Absicht wie im vorherigen Codebeispiel erstellen. Dann erstellen Sie basierend auf dieser Absicht eine ausstehende Absicht (Sie erstellen auch die gleiche ausstehende Absicht für den Alarm). Und dann stornierst du diesen Alarm:

%Vor%     
Yury 16.01.2012 09:10
quelle

Tags und Links