两个问题:
答案 0 :(得分:1)
是的,您说得对,设备设置比您要求的更偏好。因此,如果设备设置设置为"省电模式",应用程序将无法使用GPS。
您不需要FusedLocationProvider来检查设备中的位置设置。使用以下代码: -
int locationMode =
Settings.Secure.getInt(activityUnderTest.getContentResolver(),
Settings.Secure.LOCATION_MODE);
检查locationMode以获取可能的返回值。
if(locationMode == LOCATION_MODE_HIGH_ACCURACY) {
//request location updates
} else { //redirect user to settings page
startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
}