App nicht mehr bedienbar nachdem Service gestartet ist

  • Antworten:6
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 2.492

25.04.2014, 14:12:23 via Website

Hallo,

ich habe einen Service der im Hintergrund jede 30 Sekunden den Hintergrund des Handys ändert. Die App in der ich diesen Service starte ist dann aber nicht mehr bedienbar. Wie kann ich das ändern? So starte ich den Service in meiner OnLongClick methode:

                Intent service = new Intent(this, WallpaperSwitch.class);
                service.putExtra("SizeLinks", drawableListLinks.size());
                service.putExtra("Dauer", dauer);
                service.putExtra("Links", true);
                PendingIntent pintent = PendingIntent.getService(this, 0, service, 0);
                alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
                alarm.setInexactRepeating(AlarmManager.RTC_WAKEUP, 0, dauer, pintent);

Wenn der dann gestartet ist kann ich in der App nichts mehr machen. Keine Buttons mehr drücken oder sonst was. Wenn ich dann den Home Button drücke und die App neu öffne hab ich nur einen Schwarzen Bildschirm und alle 30 Sekunden kommt der neue Hintergrund mal kurz eingeblendet.

Ich hab es auch schon so versucht da ich dachte das der Main Thread vielleicht gestört wird:

`Thread thread = new Thread() {

                    @Override
                    public void run() {
                        PendingIntent pintent = PendingIntent.getService(getApplicationContext(), 0, service, 0);
                        alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
                        alarm.setInexactRepeating(AlarmManager.RTC_WAKEUP, 0, dauer, pintent);
                    }
                };`

Das Hilft aber auch nicht. Was muss ich anders machen?

Würde mich über Hilfe sehr freuen :)

— geändert am 25.04.2014, 14:19:42

Antworten
  • Forum-Beiträge: 1.793

25.04.2014, 18:14:48 via App

Scheinbar blockiert dein Service den UI-/Main-Thread. Ich erinnere mich, da ein wait(..) gesehen zu haben, kann das sein? Sollte eigentlich unnötig sein, du hast ja den AlarmManager. Der Service selber müsste ja nur ein paar ms laufen und dem AlarmManager bescheid sagen.

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
  • Forum-Beiträge: 2.492

27.04.2014, 10:08:37 via Website

Okay danke werde ich ändern ;)

Ja funktioniert wohl nur gibt neue Probleme :D

Also der AlarmManager startet den Service so wie es sein soll und dann ändert sich der Hintergrund alle 30 Sekunden. Wenn ich dann aber wieder in meine App gehe und mir neue Bilder aussuche die er als Hintergrund ändern soll und ich dann in meiner onLongClick wieder den AlarmManager starte, zeigt der immer noch die alten Bilder an. Ich schätze der alte Service läuft noch und der neue kommt dann halt nicht zum Vorschein. Wie kann ich das ändern?

Antworten

Empfohlene Artikel