2011-10-17 11 views
9

Byłbym zadowolony, aby wiedzieć, jak sprawdzić, czy intencja w toku jest wyzwalana przez Menedżera alarmów, który rozpoczyna działanie o określonej godzinie określonej przez AlarmManager.setRepeating?Jak sprawdzić, czy oczekujące zamiary wywołane przez Menedżer alarmów setRepeating już działa?

Aby być bardziej specyficznym, mam działanie, które uruchamia inną aktywność o ustalonym czasie wiązania lub czasie powtarzania (który działa). Ale chcę wiedzieć, czy żądanie zostało już ustawione przez użytkownika? w takim przypadku nie powinienem zaczynać pewnych wartości.

Oto jak rozpocząć zaplanowaną aktywność.

Intent myIntent = new Intent(getBaseContext(),MyScheduledReceiver.class); 
PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), 0, myIntent, 0); 
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), interval, pendingIntent); 
+0

tak, to jest pomocne. – NyanLH

+0

Hej, dzięki. Cieszę się, że to pomogło. Mógłbym dać +1, co mogłoby mi pomóc. :) – Wesley

+0

Właściwie powinieneś odpowiedzieć na własne pytanie i zaakceptować odpowiedź. To pytanie nie pojawi się na liście "bez odpowiedzi". –

Odpowiedz

18

Ok, myślę, że udało mi się dowiedzieć, w jaki sposób,

//CHECKING IF PENDING INTENT IS ALREADY RUNNING 
Intent checkIntent = new Intent(getApplicationContext(),MyScheduledReceiver.class); 
alarmUp = (PendingIntent.getBroadcast(getBaseContext(), 0, checkIntent, PendingIntent.FLAG_NO_CREATE) != null); 

Dzięki, mam nadzieję, może to być pomocne dla kogoś ...

+0

to rozwiązanie nie działa dla mnie, PendingIntent.FLAG_NO_CREATE sprawiają, że retuned PendingIntent zawsze ma wartość null. –

+0

Wiem, że to jest stare, ale ta informacja jest błędna, to sprawdzi, czy alarm został ustawiony z określonym intencją, a nie, jeśli cel został wykonany. – Gusman

Powiązane problemy