2013-10-29 5 views
5

Ich habe eine Methode, die ich alle paar Stunden ausführen muss, auch wenn der Benutzer die App nicht erneut geöffnet hat. Was ist der beste Weg zu gehen? Soll ich die Timer-Klasse oder den Alarmmanager verwenden? Danke!Ausführen einer Aufgabe alle paar Stunden

+0

u helfen Problem behoben? – Erum

Antwort

7

Sie sollten AlarmManager verwenden, um Dienste dafür zu planen. Siehe hierzu Vogella tutorial.

+0

Funktioniert das auch, nachdem das Telefon zurückgesetzt wurde oder die App geschlossen wurde? – roiberg

+0

Nichts funktioniert mehr, wenn jemand das Telefon auf die Werkseinstellungen zurücksetzt. Das Schließen der Funktion kann die Dienste zwar vorübergehend zunichte machen, Sie können sie jedoch erneut starten. –

+0

Ich meinte nicht Factory Reset, ich meinte das Telefon neu starten ... Soll ich einen Broadcast Empfänger für den Neustart verwenden oder geht es ohne ihn? – roiberg

15

Schritt 1: Definieren Sie BroadcastReceiver und in XML-Manifest hinzufügen: Definieren Sie 'Service' Klassenlogik zu definieren

Ste 2 ausgeführt werden. Dies ist dafür verantwortlich, dass die Klasse "Service" die Aufgabe ausführt.

Mai werden Sie Absicht Aktion <action android:name="android.intent.action.BOOT_COMPLETED"/> unter in manifest xml

Schritt 3 hinzufügen müssen: Verwenden Sie 'Alarmmanager' zu planen

paar Links zu wiederholen könnte http://www.vogella.com/articles/AndroidServices/article.html#scheduleservice_scheduling

http://khurramitdeveloper.blogspot.in/2013/06/android-alarm-manager-to-start-service.html

+0

Danke für Ihre Antwort! Ich hätte es akzeptiert, aber die andere Antwort war zuerst. – roiberg

+1

Danke. Kein Problem :), ich würde mich freuen, wenn es dir hilft :) – Jayasagar

+0

@Jayasagar Warum brauchst du einen 'Service'? – fiddler