如何检查我是否在Android 4.4及以上版本中以编程方式打开gps? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检查我是否在Android 4.4及以上版本中以编程方式打开gps? [重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我曾尝试在线搜索答案,但它们似乎只适用于android 4.0及更低版本

答案
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);
    }


} 
另一答案

你可以使用LocationManager

此类提供对系统位置服务的访问。这些服务允许应用程序获取设备的地理位置的定期更新,或者在设备进入给定地理位置附近时触发应用程序指定的Intent。

这是您正在寻找的代码片段

LocationManager locationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER))

这已经过Android 4.4及以上版本的测试。但不适用于8.0。

以上是关于如何检查我是否在Android 4.4及以上版本中以编程方式打开gps? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Android 4.4 以上更改状态栏颜色

如何获取 Android Q 及以上版本的 MUSIC 文件夹中的文件列表?

android 4.4以上能够实现的沉浸式状态栏效果

GetPathFromUri4kitkatAndroid 4.4 kitkat以上及以下根据uri获取路径的方法

imageView.setImageBitmap图像空白(Android 4.4)

如何在 Android Q 及以上版本中保存/读取文件(即 txt、mht、pdf 等),因为 getExternalStoragePublicDirectory() 已弃用 [重复]