【问题标题】:how to know if device in high accuracy mode如何知道设备是否处于高精度模式
【发布时间】:2014-09-09 11:41:38
【问题描述】:

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

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

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

【问题讨论】:

标签: android


【解决方案1】:

在 4.4 奇巧

进入设置>位置

默认为仅限设备

按下模式

三个选项

根据需要进行更改

更新(通过代码)

如果你想设置

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

问候 行家

【讨论】:

    【解决方案2】:

    如果您正在处理位置,您可能必须使用LocationProvider。

    我认为你可以通过将方法应用于活动的LocationProvider 来获得所有答案,例如getName()。

    阅读here 了解可用的方法。

    【讨论】:

      猜你喜欢
      • 2016-08-11
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-28
      • 2022-07-19
      • 1970-01-01
      相关资源
      最近更新 更多