Почему JobScheduler может быть скомпилирован, когда minSdkVersion равен 15 - PullRequest
0 голосов
/ 10 мая 2018

На мой взгляд, для JobScheduler требуется Android 5.0 или выше, теперь можно выполнить следующий код, почему?

Я думаю, что Android Studio 3.1.2 должна отображать информацию minSdkVersion 21 требуется , когда я пытаюсь выполнить код!

  private fun startScheduleRestore(mContext:Context){ 
        val mJobScheduler = mContext.getSystemService(Context.JOB_SCHEDULER_SERVICE) as JobScheduler

        val jobInfo = JobInfo.Builder(mContext.getInteger(R.integer.JobID), ComponentName(mContext.packageName, RestoreService::class.java.name))
                            .setPeriodic(interval)
                            .setPersisted(true)
                            .build()

        mJobScheduler.schedule(jobInfo)
    }

build.gradle

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 26
    flavorDimensions "default"

    defaultConfig {      

        applicationId "info.dodata.mirror"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 5
        versionName "1.05"
        archivesBaseName = "BackupSettings-V" + versionName
    }   
}


dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])


    //implementation 'com.android.support:multidex:1.0.2'

    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.google.android.gms:play-services-ads:11.8.0'

    implementation 'com.android.support:animated-vector-drawable:26.1.0'
    implementation 'com.android.support:mediarouter-v7:26.1.0'

    implementation 'com.android.support.constraint:constraint-layout:1.0.2'

    implementation "org.jetbrains.anko:anko-commons:$anko_version"
    implementation "org.jetbrains.anko:anko-sqlite:$anko_version"

    implementation 'com.google.code.gson:gson:2.8.2'

    implementation 'com.android.support:recyclerview-v7:26.1.0'
    implementation 'com.android.support:cardview-v7:26.1.0'

}

1 Ответ

0 голосов
/ 10 мая 2018

Нет ошибок, потому что целевой версии 26, поэтому и поддерживает. и min sdk version обеспечивает поддержку более старой версии android. В выпуске Android 5.0 Lollipop (API 21) вводится API планировщика заданий через класс JobScheduler. Этот API позволяет выполнять пакетные задания, когда на устройстве доступно больше ресурсов. В общем, этот API можно использовать для планирования всего, что не критично для пользователя.

...