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ą.
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.

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.

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”.

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.

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.