Я разрабатываю приложение, которое определяет местоположение, является ложным или нет.Я использовал приведенный ниже код, чтобы обнаружить его:
private void mockLocationStatus(){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
if (location.isFromMockProvider())
obj.IsMockLocation = "true";
else
obj.IsMockLocation = "false";
} else {
if (isMockSettingsON(context))
obj.IsMockLocation = "true";
else
obj.IsMockLocation = "false";
}
}
public static boolean isMockSettingsON(Context context) {
if (Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ALLOW_MOCK_LOCATION).equals("0"))
return false;
else
return true;
}
хорошо, он отлично работает на большинстве моих тестовых устройств от Android 4.2 до систем 8.1, пока один пользователь не сказал, что я не использую какие-либо приложения для определения местоположения ион сказал, что не имеет параметров разработчика в настройках, но он отправил истинный поддельный флаг местоположения на сервер.Версия Android для пользователя - 4.2.2.Могу ли я включить макет местоположение по-другому в настройках?Какой у меня код проблемы?Возможно ли, что фиктивное местоположение отключено в настройках или не включает опции разработчика, но isMockSettinsON
возвращает true?