Proč se simulace na Xiaomi na pozadí sama vypíná?
MIUI a HyperOS (Xiaomi, Redmi, POCO) ukončují aplikace na pozadí agresivněji než ostatní. Zapněte pro Mock Location autostart a zrušte omezení baterie — aplikace to navrhne při prvním spuštění.
Simulaci drží služba na pozadí a „vypnula se sama“ téměř vždy znamená, že ji ukončil firmware. V systémových protokolech se to projeví jako vynucené zastavení procesu systémem, ne jako chyba aplikace.
Pak se stane něco nezřejmého: testovací poskytovatelé zůstanou v Androidu zaregistrovaní s poslední zapsanou hodnotou, ale nové souřadnice do nich nikdo nezapisuje — proces, který je vytvořil, už neexistuje. Zvenku to vypadá jako „simulace zamrzla“: bod zůstává stejný, ale přestane se aktualizovat, a po čase systém vrátí skutečnou polohu. Proto si problému často hned nevšimnete.
Nejčastěji na to narážejí majitelé Xiaomi, Redmi a POCO: MIUI a HyperOS spravují procesy na pozadí přísněji než ostatní. Řeší se to třemi nastaveními — autostartem, zrušením omezení baterie a uzamčením aplikace v nedávných; postup s přesnými cestami najdete v samostatném návodu pro Xiaomi. Pokud uděláte jen jedno ze tří, udělejte autostart: bez něj systém po ukončení procesu službu vůbec nevrátí a simulace se neobnoví, dokud aplikaci sami neotevřete. Se zapnutým autostartem systém službu vrátí během několika sekund, aplikace převezme uložený stav a pokračuje bez vašeho zásahu.
Na Samsungu je příčina stejná, ale mechanismus se jmenuje „Uspané aplikace“: One UI automaticky uspává to, co jste chvíli nepoužívali, a aplikace pro simulaci vypadá nečinně právě tehdy, když máte telefon v kapse. Cesty pro One UI jsou v návodu pro Samsung. Na Huawei a Honor vypněte automatickou správu spouštění a zapněte všechny tři přepínače — autostart, sekundární spuštění a běh na pozadí; podrobnosti v návodu pro Huawei.
Aplikace na své straně dělá dvě nezávislé věci. Při otevření porovná uložený stav se skutečným, a pokud proces zanikl, simulaci vrátí — tato cesta funguje vždy. Navíc hlídací časovač na pozadí pravidelně kontroluje stav a pokouší se službu obnovit sám. Obojí má ale hranici: pokud firmware aplikaci zakáže spouštět se na pozadí, službu bez vás vrátit nelze — kód v tu chvíli prostě neběží. Nastavení firmwaru proto programově nahradit nelze.
Nejjednodušší kontrola výsledku je trvalé oznámení na panelu: dokud tam je, služba žije. Pokud zmizelo, systém se k ní přece jen dostal a je třeba se vrátit k nastavení výše.