我尝试在网上搜索答案,但它们似乎只适用于Android 4.0及以下版本
答案 0 :(得分:2)
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 false;
}
return locationMode != Settings.Secure.LOCATION_MODE_OFF;
}else{
locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
return !TextUtils.isEmpty(locationProviders);
}
}
答案 1 :(得分:1)
您可以使用LocationManager
此类提供对系统位置服务的访问。这些服务允许应用程序获取设备的地理位置的定期更新,或者在设备进入给定地理位置附近时触发应用程序指定的Intent。
以下是您要查找的内容的代码段
LocationManager locationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER))
这已经过Android 4.4及以上版本的测试。但是不适用于8.0。