Pracuję nad prostą aplikacją zadań w Androidzie i potrzebuję tworzyć powiadomienia za pomocą AlarmManagera. Mój problem polega na tym, że mam pewne alarmy, które powinny zostać usunięte - a więc ich powiadomienia - ale nie są, więc zdecydowałem - po wpisach, takich jak Delete alarm from AlarmManager using cancel() - Android, aby AlarmManager był statyczną zmienną, aby to samo wystąpienie mogło zostać osiągnięte z całości aplikacja. Droga Robię to jest o następujące metody w moim główne klasy:static AlarmManager w Androidzie
public static AlarmManager getAlarmManagerInstance() {
if (sAlarmManager == null && sContext != null)
sAlarmManager = (AlarmManager) sContext
.getSystemService(Context.ALARM_SERVICE);
return sAlarmManager;
}
aw zmiennej sContext
zostanie instancja w ten sposób:
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.activity_main);
sContext = this;
initActionBar();
}
jest to dobry pomysł, aby utworzyć singleton z tej zmiennej? Czy istnieje lepsze podejście?
Dziękuję bardzo z góry.
używać tego samego identyfikatora tworzyć oczekiwaniu intencji .. który wykona tę samą pracę –
, ale używam identyfikatorów zadań, które chcę utworzyć/zmodyfikować, aby utworzyć oczekujące intencje, w taki sposób, że 'PendingIntent oczekujeFirstAlarmIntent = PendingIntent.getBroadcast ( \t \t \t \t \t tym mGoal.getId() intValue(), zamiar, \t \t \t \t \t PendingIntent.FLAG_ONE_SHOT). '.. jest to wciąż ten sam? – noloman
Tak, to jest to samo ... Jeśli to nie powoduje anulowania alarmu, spróbuj użyć różnych flag ... –