私のアプリケーションが閉じていても定期的に(週1日に1回)何らかのタスクを実行したいです。出来ますか?タスクを定期的に実行する(1日に1回/週に1回)
答えて
はい、再発する「アラーム」を設定するには、AlarmManagerを参照する必要があります。これは、バックグラウンドで絶えず動作しないサービスとは異なり、デバイスのバッテリ寿命を改善します。アラームは、カスタムコードを実行するbroadcast receiverをトリガします。
最終的なメモとして、実際の値を設定することはできますが、毎日、半日など、アラームのタイミングの列挙値があります。
良い例は、SOポスト続く中で見つけることができます:
更新
を新しい機能は、Androidに追加されました。あなたがこれを読んでいるなら、私は今あなたにGcmNetworkManagerを調べることを勧めます。これによりバッテリ寿命が最適化され、プレロリポップが動作します。 Lollipop以降ではJobSchedulerを使用できます。これらのクラスをAlarmManagerで使用することをお勧めします。
私は現在の週と比較しています別の方法として:
Calendar cal = Calendar.getInstance();
int currentWeekOfYear = cal.get(Calendar.WEEK_OF_YEAR);
SharedPreferences sharedPreferences= this.getSharedPreferences("appInfo", 0);
int weekOfYear = sharedPreferences.getInt("weekOfYear", 0);
if(weekOfYear != currentWeekOfYear){
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putInt("weekOfYear", currentWeekOfYear);
editor.commit();
// Your once a week code here
}
を、私は、これはアラームソリューションよりも優れている提唱していませんよ。私は別のアプローチを示しています。
ベストフィットはGcmNetworkManagerだと思います。基本的には、AlarmManagerと永続性の両方から必要なものをすべて取得できるため、再起動後にジョブを実行することができます。
例:
PeriodicTask task = new PeriodicTask.Builder()
.setService(MyTaskService.class)
.setTag(TASK_TAG_PERIODIC)
.setPeriod(5L)
.build();
mGcmNetworkManager.schedule(task);
あなたはそうです - これはおそらくこれを行う通常の方法になるでしょう。私は2,5年前に私の答えを書いたので、物事は進む。あなたが 'GcmNetworkManager'を使う必要がないので、あなたはAndroid 5のLollipop Job Schedulerを追加する必要があると私は主張します。私はbtwをupvoted。 –
- 1. タスクを週に1回または定期的に実行するiOS
- 2. 1日に1回コードを実行
- 3. PHPコードを1週間に1回、ランダムに実行します。
- 4. Google Appengine:1日に1回実行するタスクをスケジュールする方法
- 5. サーバーを1日に1回実行するようにする
- 6. Androidで1日に1回スケジュールされたタスクを実行する
- 7. 1秒に1回、2回に1回コードを実行できますか?
- 8. pythonスクリプトを1日に2回自動的に実行する
- 9. android-job:定期的に1日に1回、DeviceIdle = true、できるだけ早く
- 10. クラスごとに1回、グループに1回実行する
- 11. 特定日に2週間に1回のクォーツcron式
- 12. cygwinターミナルからbashスクリプトを定期的に(週に1回)実行するには?
- 13. SwiftはFirebaseで1日に1回実行します
- 14. Androidカレンダーの定期的なイベントを1日に複数回
- 15. 1日に1回強制的にJavaScriptを再ロードする
- 16. 1日に1回挿入する
- 17. AWSのcron式CloudWatch:週に1回実行する方法
- 18. URLを1日に1回ヒット
- 19. Spring、アプリケーション起動時にタスクを1回実行する
- 20. PHP - ユーザーに対してタスクを1回だけ実行する
- 21. セレンのwebdriverスクリプトとpowershellスクリプトを1週間に1回実行するように設定する方法
- 22. テキストを1週間に1回変更する
- 23. 1分に1回以上クロンジョブを実行するには?
- 24. PHP:ランダムな結果1日に1回、
- 25. UILocalNotification週に1回繰り返す
- 26. DBMS_SCHEDULER repeat_intervalを使用して、2日に1回タスクを実行します。
- 27. R - 毎週土曜日の開始日を週に1回集計します。
- 28. Rails 3で1日に1回実行するメソッドをスケジュールします
- 29. 月に1回実行するスケジュールタイマー - C#
- 30. PHP MySQL - 週に1回の操作
おかげで、これは私が探していたまさにです。 – siemian
@Graham Smith興味のあることは、自分で書いたのですか? –
@Graham Smith あなたが提供したリンクは故障です。あなたは働くリンクを提供できますか? – Zapnologica