指定された時間ごと(たとえば、5 AMの毎日)にアクション(多分インテント)を実行するにはどうすればよいですか? cronがどのように動作するかと同様に、デバイスを再起動したあとは、それを維持する必要があります。Androidで永続/定期スケジュールを設定するにはどうすればよいですか?
私はこのためにAlarmManager
を使用することができ、または私ができるかどうかわからないのですか?
指定された時間ごと(たとえば、5 AMの毎日)にアクション(多分インテント)を実行するにはどうすればよいですか? cronがどのように動作するかと同様に、デバイスを再起動したあとは、それを維持する必要があります。Androidで永続/定期スケジュールを設定するにはどうすればよいですか?
私はこのためにAlarmManager
を使用することができ、または私ができるかどうかわからないのですか?
あなたはそれがデバイスの再起動後に滞在する場合は、デバイスが再起動後にアラームをスケジュールする必要があります。
あなたは、意図ACTION_BOOT_COMPLETED
<receiver android:name=".BootCompletedReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
最後をキャプチャするだけでなく必要とされているあなたのAndroidManifest.xml
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
A BroadcastReceiverでRECEIVE_BOOT_COMPLETED権限を持っている必要がでonReceiveメソッドをオーバーライドしますあなたのBroadcastReceiver。
public class BootcompletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//set alarm
}
}
編集: 'アンドロイドのcron' をスケジュールするAlarmManagerのsetRepeating方法を見てください。あなたがやってあなたのAppでcronジョブをスケジュールすることができBuzzBox SDKを使用して
あなたのアプリケーションがユーザーやAndroidシステムによって殺された場合に役立つことはありません。それができたら、あなたのアラームは登録解除され、あなたは決して再び呼び出されません。 – Guy
私はcron式で繰り返し設定されたものについて何も見つかりませんでした! –
:
"8-19 * * 1,2,3,4,5 0は" 意志のcron文字列をあるSchedulerManager.getInstance()
.saveTask(context, "0 8-19 * * 1,2,3,4,5", YourTask.class);
あなたの仕事を1時間に1回、午前8時から午後7時まで、金曜日から金曜日まで実行してください。 あなたのタスクはあなたが望むものであればどんなものでもかまいません。doWorkメソッドを実装するだけです。ライブラリは、リブート時、ウェイクロックの取得時、およびエラー時の再試行時に再スケジューリングを行います。
はい使用できます。 – techiServices