Стороннее приложение показывает реальное местоположение — почему?
Android помечает каждую координату от тестового провайдера служебным признаком «получено из фиктивного источника». Приложения вправе его проверять и отказываться работать с такими данными — обойти эту проверку Mock Location не пытается.
Android помечает каждую координату, пришедшую от тестового провайдера, служебным признаком «получено из фиктивного источника». Признак этот не скрытый: любое приложение вправе его прочитать и решить, что делать с такими данными.
Часть сервисов именно так и поступает — и это не поломка, а их осознанный выбор. Отказываются работать с фиктивными координатами банковские приложения, системы подтверждения доставки, корпоративный учёт рабочего времени, геозависимые бонусные программы и игры с античит-системами. Для них местоположение — не удобство, а подтверждение факта, и принимать недостоверные данные они не могут по существу задачи.
Обойти эту проверку без вмешательства в прошивку невозможно, и Mock Location этого не делает принципиально. Скрыть флаг можно только модулями уровня Magisk на устройстве с разблокированным загрузчиком — со слетевшей гарантией, неработающими проверками целостности системы и риском оставить телефон нерабочим. Мы этот путь не поддерживаем и не описываем; почему именно так и почему он всё равно не решает задачу — разобрано в материале можно ли скрыть подмену геолокации.
Но прежде чем считать, что дело во флаге, стоит исключить три более простые причины.
Первая — кэш. Приложение могло запомнить последнюю известную точку и показывать её, не запрашивая новую. Закройте его полностью (именно закройте, а не сверните) и откройте заново уже при активной подмене.
Вторая — определение по IP-адресу. Часть сервисов узнаёт местоположение не у системы, а по сетевому адресу; на такой канал подмена координат не влияет в принципе, и здесь помог бы VPN, а не смена координат. Отличие этих двух механизмов разобрано в материале подмена геолокации или VPN.
Третья — приложение запрашивает местоположение один раз при запуске и не реагирует на его последующие изменения. Тогда порядок действий обратный привычному: сначала включите подмену, потом открывайте приложение.
Если ни одно из трёх не подошло и приложение продолжает показывать реальную точку при активной подмене — почти наверняка оно читает флаг фиктивного источника, и сделать с этим ничего нельзя.