BroadcastReceiver, AlarmManager, Service steuern

  • Antworten:3
Fabian W.
  • Forum-Beiträge: 17

16.05.2012, 17:11:21 via Website

Hallo,
folgendes Problem:

Sobald meine App startet lass ich verschiedene Services mitlaufen!
Diese werden beim Booten via ACTION_BOOT_COMPLETED und einem AlarmManager regelmäßig in meinem BroadcastReceiver gestartet.
(Termine aktualisieren, Pinnwand aktualisieren, Nachrichten abrufen, ...)

Jetzt möchte ich aber dem Nutzer ermöglichen, einzelne dieser Services abzuschalten!

Gibt es eine Möglichkeit dem BroadcastReceiver, neu zu starten? Denn bis jetzt kan ich bloß beim Booten die Auswahl des Benutzers überprüfen...

Hier der Broadcast Receiver:
1public class BroadcastReceiverUpdate extends BroadcastReceiver {
2
3 private final static int TERMIN_AKT = 24; //jede x stunden
4
5 @Override
6 public void onReceive(Context context, Intent intent) {
7
8 if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
9 Log.v("log_tag", "Boot komplett");
10 System.out.println("Boot komplett (onReceive)");
11
12 Intent AlarmServiceIntent = new Intent(context,
13 TerminService.class);
14 PendingIntent AlarmServicePendingIntent = PendingIntent.
15 getService(context, 0, AlarmServiceIntent, 0);
16 long interval = DateUtils.HOUR_IN_MILLIS * TERMIN_AKT;
17 long firstStart = System.currentTimeMillis() + interval;
18 AlarmManager am = (AlarmManager) context
19 .getSystemService(Context.ALARM_SERVICE);
20 am.setInexactRepeating(AlarmManager.RTC, firstStart,
21 interval, AlarmServicePendingIntent);
22 Log.v("log_tag", "AlarmManager (Termine) gesetzt");
23 System.out.println("AlarmManager (Termine) gesetzt");
24 }
25 }
26
27}

Danke für die Hilfe Fabian

— geändert am 16.05.2012, 17:12:30

Antworten
Fabian W.
  • Forum-Beiträge: 17

20.05.2012, 15:31:21 via Website

keiner eine idee?

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

20.05.2012, 17:04:56 via App

Evtl den Receiver auch auf einen anderen Intent horchen lassen und diesen Intent bei Einstellungsänderungen durch den Nutzer abschicken?

Lg Ansgar

Antworten
Fabian W.
  • Forum-Beiträge: 17

22.05.2012, 19:47:58 via Website

Also wens vielleicht noch interessiert...

Ich mach das ganze jetzt über eine andere Activity. Diese setzt bzw zerstört den Service und gleichzeitig den Eintrag im AlarmManager

Antworten