【发布时间】:2014-05-08 15:24:43
【问题描述】:
我看过这个页面:http://developer.android.com/reference/android/provider/Settings.Secure.html#LOCATION_MODE,但我还是迷路了。
我知道位置模式应该返回一个整数。 Battery Saving 为 2,High Accuracy 为 3,如果 GPS 关闭,则返回 0。
抓取当前位置没问题...
LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
//Location location = manager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Location location = manager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
double longitude = location.getLongitude();
double latitude = location.getLatitude();
String stlongitude = Double.toString(longitude);
String stlatitude = Double.toString(latitude);
但是当手机的定位模式设置为仅设备时,我必须使用 LocationManager 的 GPS_PROVIDER。这不如 NETWORK_PROVIDER 准确。我想做一个 if、else 或 case 语句,允许我获取当前位置模式,如果它设置为高精度或省电模式,请使用 NETWORK_PROVIDER,但如果它设置为仅设备使用 GPS_PROVIDER。
【问题讨论】: