0
이 내가 내 일을 설정하는 방법입니다 취소됩니다 :JobScheduler 작업은
val builder = JobInfo.Builder(1, ComponentName(this,
PullDataJob::class.java))
.setPeriodic(1000L * 60 * 60) // one hour
.setRequiredNetworkType(NETWORK_TYPE_ANY)
.setPersisted(true)
jobScheduler.schedule(builder.build())
내 시험 절차 :
- 활성 작업을 얻을 내 응용 프로그램
- 사용
adb shell dumpsys jobscheduler
열기 명부. 목록에서 내 직업을 볼 수 있습니다. - 내 앱을 최근 목록에서 스 와이프하여 프로세스를 종료하십시오.
- 동일한 명령을 사용하여 내 직업이 사라 졌음을 확인하십시오.
jobScheduler.allPendingJobs.size
은 0이됩니다.- 내 앱을 다시 엽니 다.
setPersisted(true)
를 사용하더라도 수동으로 다시 작업을 예약하지 않으면 내 작업이 활성 작업 목록에 여전히 존재하지 않습니다.
내 테스트 환경 :
수소 OS, 안드로이드 7.1.1, targetSdkVersion을 : 26
은 예상 된 동작인가요? 앱을 종료해도 작업이 주기적으로 실행되도록하려면 어떻게해야합니까?
예, 바람직한 동작입니다. 액션 번호 3)은 사용자에게 앱이 CPU 사용을 영구적으로 중지 할 수있는 권한을 부여합니다. 이 링크가 도움이 될 수 사용해보십시오 – Henry
당신 https://stackoverflow.com/questions/38410309/jobscheduler-setrequirednetworktypejobinfo-network-type-any-not-working –
@AmjadKhan – Null