如何知道设备是否处于高精度模式

时间:2014-09-09 11:41:38

标签: android

我们如何知道设备是否处于高精度模式。

在仅设备模式下打开Goog​​le地图时,它会要求您更改为高精度模式。我需要实现这样的事情。但我找不到任何让我们知道位置模式的API。

更新:我需要从代码中了解这一点。我需要知道设备当前是处于仅设备模式,省电模式还是高精度模式

2 个答案:

答案 0 :(得分:8)

在4.4 KITKAT

转到设置>位置

默认为仅限设备

enter image description here

模式

enter image description here

有三个选项

根据需要进行更改

更新(通过代码)

如果你想设置

mLocationRequest=LocationRequest.create();
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

如果你想知道

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 && locationMode == Settings.Secure.LOCATION_MODE_HIGH_ACCURACY); //check location mode

}else{
    locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
    return !TextUtils.isEmpty(locationProviders);
}

问候 行家

答案 1 :(得分:0)

如果您正在处理地点,则可能需要使用LocationProvider

我认为您可以通过将方法应用于有效LocationProvider来获得所有答案,例如getName()

阅读有关可用方法的here