android4.4gps,android - Check if gps is on In Kitkat (4.4) - Stack Overflow

Self Answer

@TargetApi(Build.VERSION_CODES.KITKAT)

@SuppressWarnings("deprecation")

public static boolean isGpsEnabled(Context context) {

if (PackageUtil.checkPermission(context, Manifest.permission.ACCESS_FINE_LOCATION)) {

LocationManager lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);

return lm.isProviderEnabled(LocationManager.GPS_PROVIDER);

}

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {

String providers = Secure.getString(context.getContentResolver(),

Secure.LOCATION_PROVIDERS_ALLOWED);

if (TextUtils.isEmpty(providers)) {

return false;

}

return providers.contains(LocationManager.GPS_PROVIDER);

} else {

final int locationMode;

try {

locationMode = Secure.getInt(context.getContentResolver(),

Secure.LOCATION_MODE);

} catch (SettingNotFoundException e) {

e.printStackTrace();

return false;

}

switch (locationMode) {

case Secure.LOCATION_MODE_HIGH_ACCURACY:

case Secure.LOCATION_MODE_SENSORS_ONLY:

return true;

case Secure.LOCATION_MODE_BATTERY_SAVING:

case Secure.LOCATION_MODE_OFF:

default:

return false;

}

}

}

And Add this method in your packageutils class :

public static class PackageUtil {

static boolean checkPermission(Context context, String accessFineLocation) {

int res = context.checkCallingOrSelfPermission(accessFineLocation);

return (res == PackageManager.PERMISSION_GRANTED);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值