デバイスのバッテリーを最適化するには、FCM ジョブ ディスパッチャを使用する必要があることを読みました。私の要件は、サーバーへの単純な POST 要求を介して、毎日 (1 回) サーバーにデータを送信することです。ここで、FCM ディスパッチャまたはアラーム マネージャを使用する必要があります。FCM ディスパッチャを使用している場合、trigger() しか設定されていないため、どのように使用できますか。
これがドキュメントです。彼らは日常の定期的なタスクに関する文書を持っていませんでした。
彼らが与えたコードは次のとおりです。
Job myJob = dispatcher.newJobBuilder()
// the JobService that will be called
.setService(MyJobService.class)
// uniquely identifies the job
.setTag("my-unique-tag")
// one-off job
.setRecurring(false)
// don't persist past a device reboot
.setLifetime(Lifetime.UNTIL_NEXT_BOOT)
// start between 0 and 60 seconds from now
.setTrigger(Trigger.executionWindow(0, 60))
// don't overwrite an existing job with the same tag
.setReplaceCurrent(false)
// retry with exponential backoff
.setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL)
// constraints that need to be satisfied for the job to run
.setConstraints(
// only run on an unmetered network
Constraint.ON_UNMETERED_NETWORK,
// only run when the device is charging
Constraint.DEVICE_CHARGING
)
.setExtras(myExtrasBundle)
.build();
このコードを使用して、定期的に実行されるタスクをスケジュールするにはどうすればよいですか?