Service und BroadcastReceiver problem

  • Antworten:0
  • Bentwortet
Michele
  • Forum-Beiträge: 1.525

12.06.2013, 01:14:55 via Website

Hallo Forum.

Ich merke gerade das mit meinem Service und BroadcastReceiver etwas nicht stimmt.
Mein Service soll alle 24 Stunden meinen BroadcastReceiver ausführen.
Und dann Startet er wieder meinen Service der wieder die nächsten 24 Stunden
den BroadcastReceiver ausfürt. Und immer wieder das gleiche.
Bei kurzen Zeiten geht das. Aber bei 24 Stunden geht das irgendwie nicht.

Und warum? Killt der Service sich selbst nach einiger Zeit obwohl der AlarmManager läuft?
Warum ich das so umständlich mache mit einem Service?
Der Service wird durch mein Widget gestartet. Wenn ich ein Widget Starte kann ich kein BroadcastReceiver Starten.
Aber einen Service.

Service:
1public class Service extends Service {
2
3
4 @Override
5 public int onStartCommand(Intent intent, int flags, int startId) {
6
7 Intent intentS = new Intent(getApplicationContext(), BroadService.class);
8 PendingIntent pending = PendingIntent.getBroadcast(getApplicationContext(), 0, intentS, 0);
9 AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
10 Calendar calendar = Calendar.getInstance();
11 calendar.setTimeInMillis(System.currentTimeMillis());
12 calendar.add(Calendar.SECOND,84000);
13 alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 0, pending);
14
15 stopSelf();
16 return super.onStartCommand(intent, flags, startId);
17 }
18
19
20 @Override
21 public IBinder onBind(Intent intent) {
22 return null;
23 }
24}

BroadcastReceiver:
1public class BroadService extends BroadcastReceiver {
2
3 @Override
4 public void onReceive(Context context, Intent intent) {
5
6//
7 Mein Code...
8//
9
10 Intent service = new Intent(context, Service.class);
11 context.startService(service);
12
13 }
14}



LG

— geändert am 12.06.2013, 01:20:38

Antworten