For kotlin
private fun isLocationEnabled(mContext: Context): Boolean {
val lm = mContext.getSystemService(Context.LOCATION_SERVICE) as LocationManager
return lm.isProviderEnabled(LocationManager.GPS_PROVIDER) || lm.isProviderEnabled(
LocationManager.NETWORK_PROVIDER)
}
diálogo
private fun showLocationIsDisabledAlert() {
alert("We can't show your position because you generally disabled the location service for your device.") {
yesButton {
}
neutralPressed("Settings") {
startActivity(Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS))
}
}.show()
}
ligue assim
if (!isLocationEnabled(this.context)) {
showLocationIsDisabledAlert()
}
Dica: a caixa de diálogo precisa das seguintes importações (o Android Studio deve lidar com isso para você)
import org.jetbrains.anko.alert
import org.jetbrains.anko.noButton
E no manifesto você precisa das seguintes permissões
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>