Pozorowana lokalizacja na Xiaomi: MIUI i HyperOS

Skarga „włączam symulację, a po kilku minutach wszystko wraca” prawie zawsze dotyczy telefonów Xiaomi, Redmi i POCO. Przyczyną nie jest aplikacja: MIUI i HyperOS zarządzają procesami w tle surowiej niż czysty Android i zamykają usługę, która utrzymuje symulację. Poniżej — co dokładnie się dzieje i które trzy ustawienia to naprawiają.

  1. Włącz autostart dla aplikacji

    Ustawienia → Aplikacje → Zarządzaj aplikacjami → Mock Location → „Autostart” (w niektórych wersjach — „Działanie w tle”). To najważniejsze z trzech ustawień: bez niego po zamknięciu procesu system go nie przywróci, a symulacja nie wróci, dopóki ręcznie nie otworzysz aplikacji.

    Ekran aplikacji w ustawieniach MIUI: przełącznik „Autostart” jest włączony
  2. Zdejmij ograniczenia baterii

    Na tym samym ekranie aplikacji znajdź „Oszczędzanie baterii” albo „Kontrola aktywności” i wybierz „Bez ograniczeń”. W tym trybie system przestaje usypiać usługę w tle według własnego uznania.

    Wybór trybu oszczędzania baterii dla aplikacji: zaznaczono „Bez ograniczeń”
  3. Przypnij aplikację w ostatnich

    Otwórz listę ostatnich aplikacji i pociągnij kartę Mock Location w dół — pojawi się ikona kłódki. Przypięte aplikacje nie zamykają się przy czyszczeniu listy krzyżykiem ani gestem „wyczyść wszystko”.

    Lista ostatnich aplikacji: karta Mock Location przypięta kłódką i nie zamyka się przy czyszczeniu
  4. Sprawdź, czy symulacja się utrzymuje

    Włącz symulację, zminimalizuj aplikację i zostaw telefon w spokoju na dziesięć–piętnaście minut. Potem sprawdź: powiadomienie powinno nadal być na pasku, a inna aplikacja z mapą — nadal pokazywać wybrany punkt.

    Stałe powiadomienie Mock Location na pasku: symulacja lokalizacji działa w tle

Co dzieje się pod maską

System zamyka proces aplikacji — w logach systemowych widać to jako wymuszone zatrzymanie z decyzji systemu. Potem testowi dostawcy pozostają zarejestrowani w Androidzie z ostatnią zapisaną wartością, ale nikt nie zapisuje do nich nowych współrzędnych: proces, który je utworzył, już nie istnieje.

Z zewnątrz wygląda to jak „symulacja zamarła”: współrzędna jest ta sama, ale przestaje się aktualizować, a po pewnym czasie system zwraca prawdziwą lokalizację.

Co aplikacja robi sama

Dwa mechanizmy przywracania działają niezależnie od ustawień systemu. Pierwszy: przy otwarciu aplikacja porównuje zapisany stan z faktycznym i jeśli proces zginął, przywraca symulację — ta droga działa zawsze. Drugi: timer kontrolny okresowo sprawdza stan w tle i próbuje sam przywrócić usługę.

Ale oba mają granicę: jeśli system zabrania aplikacji startować w tle, usługi nie da się przywrócić bez Ciebie — kod w tym momencie po prostu nie działa.

Dlaczego autostart jest ważniejszy od pozostałych ustawień

Różnicę da się zmierzyć. Przy wyłączonym autostarcie system w ogóle nie uruchamia ponownie usługi po zamknięciu procesu — przywrócenie następuje dopiero wtedy, gdy sam otworzysz aplikację. Przy włączonym autostarcie system przywraca zamkniętą usługę po około trzech sekundach, aplikacja odczytuje zapisany stan i kontynuuje symulację bez Twojego udziału.

Jeśli więc zrobisz tylko jedno z trzech ustawień, niech to będzie autostart.

Przywracanie po ponownym uruchomieniu

Aktywna pozorowana lokalizacja przywraca się automatycznie podczas startu telefonu, na najwcześniejszym zdarzeniu systemowym — jeszcze przed odblokowaniem ekranu. Na telefonie z PIN-em to jedyny sposób, by przywrócić symulację, nie czekając, aż weźmiesz telefon do ręki.

Pomiar na prawdziwym urządzeniu z HyperOS pokazał, dlaczego to ważne: wczesna kolejka zdarzeń startu dociera do aplikacji w nieco ponad sekundę, a zwykła — w siedemnaście sekund, bo wcześniej w kolejce są systemowy aktualizator, usługi chmurowe i aplikacje bankowe.

Te same ustawienia w innych nakładkach

Podobne zachowanie występuje na Huawei (Ustawienia → Bateria → Uruchamianie aplikacji → wyłącz automatyczne zarządzanie dla aplikacji), Samsungu (Ustawienia → Pielęgnacja urządzenia → Bateria → Limity użycia w tle), OPPO, realme i vivo. Nazwy są różne, zasada ta sama: pozwolić aplikacji działać w tle i wykluczyć ją z agresywnego oszczędzania baterii. Jeśli symulacja nadal się wyłącza — omówienie częstych przyczyn.

Mock Location — fikcyjna lokalizacja GPS na Androidzie bez root

Za darmo, poza Google Play. Przed instalacją możesz sprawdzić sumę kontrolną pliku.

Pobierz APK