特定の時間(夜間など)に長時間実行しているネットワークタスク(ファイルのダウンロード)をスケジュールする必要があります。今ではジョブスケジューラを使用して行うことができますが、ドキュメントでは短いタスク(3分以下)に使用する必要があり、別のオプションはアラームマネージャでサービスを使用していますが、推奨されません。だから、これら2つの間で何を選ぶか、あるいは他の方法もあります。時間のかかるネットワークタスクをAndroidでスケジュールするにはどうすればよいですか?
2
A
答えて
1
AlarmManager
を使用して、IntentService
を特定の時間と間隔で実行するようにスケジュールすることをお勧めします。
あなたは、電話が眠っているときにネットワークタスクが夜間に実行されるように聞こえるので、WakefulBroadcastReceiver
を起動してサービスを開始したいと思うでしょう。これにより、サービスがすぐに実行されるようになります。タスクが完了した時点でウェイクロックが解除されていることを確認してください。
wakelockを解放するために、あなたのサービスの終了時にこれを持っている:
MyWakefulReceiver
MyWakefulReceiver.completeWakefulIntent(intent);
がWakefulBroadcastReceiver
を拡張し、あなたが作った受信機です。これ以上の設定が必要な場合は、私に知らせてください。
関連する問題
- 1. スケジュール設定された時間にウェブサイトを更新するにはどうすればよいですか?
- 2. 可変時間にスレッド(タスク)のグループをスケジュールするにはどうすればよいですか?
- 3. Androidで60分間隔で午前12時から午後6時まで、毎日仕事をスケジュールするにはどうすればよいですか?
- 4. NettyチャネルでHttpRequestをスケジュールするにはどうすればよいですか?
- 5. Djangoでジョブをスケジュールするにはどうすればよいですか?
- 6. Python Flaskでタイムイベントをスケジュールするにはどうすればよいですか?
- 7. Google Cloudでレーキタスクをスケジュールするにはどうすればよいですか?
- 8. Windowsのアプリケーションシャットダウンをスケジュールするにはどうすればよいですか?
- 9. このマルチスレッドアプリケーションをスケジュールするにはどうすればよいですか?
- 10. 月間スケジュールのタイマー間隔を計算するにはどうすればよいですか?
- 11. 2時間の間に数時間を取得するにはどうすればよいですか?
- 12. 24時間から12時間に変換するにはどうすればよいですか?
- 13. Androidでアプリの最近の起動時間を確認するにはどうすればよいですか?
- 14. Android AnimationDrawableアニメーションの再生時間をオンザフライで変更するにはどうすればよいですか?
- 15. Androidで2つの時間範囲を比較するにはどうすればよいですか?
- 16. SQL Serverで2時間の時間を生成するにはどうすればよいですか?
- 17. Androidで一定時間後にMediaRecorderを停止するにはどうすればよいですか?
- 18. Android AlarmManagerで将来の繰り返しアラームをスケジュールするにはどうすればよいですか?
- 19. iPhoneアプリケーションの起動にかかる時間を確認するにはどうすればよいですか?
- 20. C#の既存の時間に時間を追加するにはどうすればよいですか?
- 21. Google Cloudでアプリケーションを実行するようにスケジュールするにはどうすればよいですか?
- 22. Visual C++でユーザー時間とsys時間を取得するにはどうすればよいですか?
- 23. Androidで永続/定期スケジュールを設定するにはどうすればよいですか?
- 24. モデルオブジェクトの作成時間からの時間が10分を超えるかどうかを確認するにはどうすればよいですか?
- 25. RealtimeプロットのAndroidセンサーデータの時間を取得するにはどうすればよいですか?
- 26. 時間のかかる操作を記録するにはどうすればよいですか? (C#)
- 27. Excelの期間値から時間部分を抽出するにはどうすればよいですか?
- 28. tomcatサーバーでX時間ごとに実行するようにタスクをスケジュールするにはどうすればよいですか?
- 29. Windows 10の平日のみに指定した時間にスクリプトを実行するようにスケジュールするにはどうすればよいですか?
- 30. 日時フィールド間の経過時間を比較するにはどうすればよいですか?
AlarmManagerは私が知っている唯一の文書化された方法です。それについて落胆しているのは何ですか?あなたはどこを見つけましたか? –