Воспользовался этим решением
public static boolean isLocationEnabled(Context context) {
int locationMode = 0;
String locationProviders;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
try {
locationMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE);
} catch (SettingNotFoundException e) {
e.printStackTrace();
}
return locationMode != Settings.Secure.LOCATION_MODE_OFF;
}else{
locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
return !TextUtils.isEmpty(locationProviders);
}
}
Но этот метод всегда возвращает true, не зависимо включен или выключен GPS
Ответ
Посмотрите в сторону LocationManager
LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);;
boolean enabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
//enabled true если включен GPS
Ну и не забудьте о пермишене в манифесте:
Комментариев нет:
Отправить комментарий