JobScheduling onStop вызов в Android Lollipop OS, когда работа в процессе - PullRequest
0 голосов
/ 15 октября 2018

Я хочу добиться загрузки в фоновом режиме, поэтому я использую JobScheduling ,

Я создаю JobScheduling вот так

        val pb = PersistableBundle()
        pb.putString(Constant.FILE_URL, mediaHelper.url)
        pb.putInt(Constant.JOB_ID, mediaHelper.id)

        jobScheduler = getSystemService(Context.JOB_SCHEDULER_SERVICE) as JobScheduler
        var serviceName = ComponentName(this, JobSchedulerService::class.java)

        var jobInfo: JobInfo
        val interval: Long = TimeUnit.SECONDS.toMillis(1)
        val isPersistent = true;
        val networkType: Int = JobInfo.NETWORK_TYPE_ANY;

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            jobInfo = JobInfo.Builder(mediaHelper.id, serviceName)
                    .setMinimumLatency(interval)
                    .setRequiredNetworkType(networkType)
                    .setPersisted(isPersistent)
                    .setExtras(pb)
                    .build()
        } else {
            jobInfo = JobInfo.Builder(mediaHelper.id, serviceName)
                    .setPeriodic(interval)
                    .setRequiredNetworkType(networkType)
                    .setPersisted(isPersistent)
                    .setExtras(pb)
                    .build()
        }
        if (!isJobServiceOn(mediaHelper.id))
            jobScheduler.schedule(jobInfo)

В других устройствах работает нормально, когда я загружаю любой файл, используя AsyncTask в классе JobService , но в устройствах Android 5.1 максимум 3 попытки задания в очереди или когда одинзагрузка начинается через некоторое время или от 50 до 60% onStop () вызов метода в JobService классе и повторном запуске задания наоборот .

Я не нахожу никаких проблем, связанных с этой единственной Android 5.1 такой проблемой.Любой, пожалуйста, подскажите, как решить этот тип проблемы.Спасибо.

Примечание: у меня ОС Android 5.1

...