15〜20分ごとに起動するJobServiceが必要
です。作業の開始時に、アプリケーションJobServiceは正しく機能しますが、しばらくすると、1〜2時間後に起動します。JobServiceがそのように
機能するのはなぜですか?それを修正するには?15〜20分ごとにアプリケーションを起動できるJobServiceの代替手段を知っているかもしれません。
--------------------------initialization-------------------------------------
jobScheduler = getSystemService(Context.JOB_SCHEDULER_SERVICE) as JobScheduler
jobInfo = JobInfo.Builder(JOB_ID, ComponentName(this, W2BJobService::class.java))
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
.setRequiresDeviceIdle(false)
.setRequiresCharging(false)
.setPeriodic(15 * 60 * 1000)
.build()
-----------------------------run---------------------------------------------
jobScheduler?.schedule(jobInfo)
OSがバッテリ寿命を維持する必要があると判断した場合、ジョブサービスジョブは後の時点に延期されます。
ジョブの実行は、デバイスのOSによって決定されます。デバイスのスリープ状態(画面がオフの場合は使用されません)は、ジョブの実行の間にさらに時間がかかります。
Dozeのドキュメントを参照してください
https://developer.android.com/training/monitoring-device-state/doze-standby
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加