locationManager.getBestProvider возвращает значение null для API 15 (API <23)

Я уже просмотрел документацию по Android, касающуюся разрешений во время выполнения, и по-прежнему не могу найти обходной путь, чтобы нижеследующая функция работала для API ниже 23. Изменение провайдера на LocationManager.GPS_PROVIDER также вызывает ошибку времени выполнения (запрашиваемый провайдер gps не выполняет exisit). Я также установил targetSDKVersion в 15 и до сих пор не помогло.

функции (requestPermission запускается onCreate)

fun getUserLocation(){ var myLocation = MyLocationListener() var locationManager=getSystemService(LOCATION_SERVICE) as LocationManager val criteria = Criteria() criteria.accuracy = Criteria.ACCURACY_FINE var provider = locationManager.getBestProvider(criteria,true) if(provider !=null) { locationManager.requestLocationUpdates(provider, 10, 3f, myLocation) lblAddress.text=location!!.latitude.toString() } } private fun requestPermission(){ if(android.os.Build.VERSION.SDK_INT>=23) { if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this,arrayOf(android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION), REQUEST_CODE) return } } getUserLocation() } 

Файл build.gradle

  apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 26 buildToolsVersion "26.0.2" defaultConfig { applicationId "com.appName.appName" minSdkVersion 15 targetSdkVersion 15 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' testImplementation 'junit:junit:4.12' androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', { exclude group: 'com.android.support', module: 'support-annotations' }) implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" implementation 'com.google.android.gms:play-services-ads:11.4.2' implementation 'com.google.android.gms:play-services-location:11.4.2' }