2010-11-23 9 views

Antwort

10

Wenn Sie möchten, dass es nach dem Neustart des Geräts bleibt, müssen Sie den Alarm nach dem Neustart des Geräts planen.

Sie müssen die RECEIVE_BOOT_COMPLETED Erlaubnis in AndroidManifest.xml haben

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

A BroadcastReceiver benötigt wird, als auch die Absicht ACTION_BOOT_COMPLETED

<receiver android:name=".BootCompletedReceiver"> 
<intent-filter> 
<action android:name="android.intent.action.BOOT_COMPLETED" /> 
</intent-filter> 
</receiver> 

schließlich zu erfassen, überschreiben die OnReceive Methode in Ihrer Rundfunkempfänger.

public class BootcompletedReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
    //set alarm 
    } 
} 

Edit: Schauen Sie sich die setRepeating Methode der Alarmmanager die 'Android cron' zu planen.

+0

Das hilft Ihnen nicht, falls Ihre Anwendung vom Benutzer oder dem Android-System beendet wird. Sobald dies der Fall ist, werden Ihre Alarme nicht mehr registriert und Sie werden nie wieder angerufen. – Guy

+0

Ich konnte nichts über die Wiederholung von Wiederholungen über den Cron-Ausdruck herausfinden! –

1

das BuzzBox SDK verwenden Sie können in Ihrem App macht einen cron-Job einplanen:

SchedulerManager.getInstance() 
.saveTask(context, "0 8-19 * * 1,2,3,4,5", YourTask.class); 

Wo "0 19.08 * * 1,2,3,4,5" ist ein cron-String, wird Führen Sie Ihre Aufgabe einmal pro Stunde von 8 bis 19 Uhr, Montag bis Freitag. Ihre Aufgabe kann sein, was auch immer Sie wollen, Sie müssen nur eine DoWork-Methode implementieren. Die Bibliothek kümmert sich um eine Neuterminierung beim Neustart, um die Wake-Sperre zu erhalten und bei Fehlern erneut zu versuchen.

More info about the BuzzBox SDK here...

Verwandte Themen