以编程方式将位置模式更改为高精度Android

前端之家收集整理的这篇文章主要介绍了以编程方式将位置模式更改为高精度Android前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
可以在位置设置选项下的三种模式中获取用户选择的位置模式的信息

高精度

电池储蓄

仅限GPS

我想以编程方式检查用户是否选择了高精度模式,如果没有,则自动启用它.可能吗 ?请指教.

解决方法

从API级别19(Kitkat)可以获得设备的当前位置模式:
public int getLocationMode(Context context)
{
return Settings.Secure.getInt(activityUnderTest.getContentResolver(),Settings.Secure.LOCATION_MODE);

}

这些是可能的返回值(见here):

0 = LOCATION_MODE_OFF
1 = LOCATION_MODE_SENSORS_ONLY
2 = LOCATION_MODE_BATTERY_SAVING
3 = LOCATION_MODE_HIGH_ACCURACY

所以你想要的东西

if(getLocationMode(context) == 3)
{
// do stuff
}

不幸的是,您无法以编程方式设置位置模式,但您可以将用户直接发送到设置屏幕,他可以做到这一点:

startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));

猜你在找的Android相关文章