Neplocatie op Xiaomi: MIUI en HyperOS

De klacht ‘ik zet de simulatie aan en een paar minuten later is alles terug’ komt bijna altijd van telefoons van Xiaomi, Redmi en POCO. De oorzaak is niet de app: MIUI en HyperOS beheren achtergrondprocessen strenger dan standaard-Android en sluiten de dienst af die de simulatie aan houdt. Hieronder wat er precies gebeurt en welke drie instellingen het oplossen.

  1. Zet automatisch starten aan voor de app

    Instellingen → Apps → Apps beheren → Mock Location → ‘Automatisch starten’ (in sommige versies: ‘Uitvoeren op achtergrond’). Dit is de belangrijkste van de drie instellingen: zonder deze brengt het systeem het proces na het afsluiten niet terug, en wordt de simulatie pas hersteld als je de app handmatig opent.

    Het app-scherm in de MIUI-instellingen: de schakelaar ‘Automatisch starten’ staat aan
  2. Hef de batterijbeperkingen op

    Zoek op hetzelfde app-scherm ‘Batterijbesparing’ of ‘Activiteitscontrole’ en kies ‘Geen beperkingen’. In deze modus laat de firmware de achtergronddienst niet meer naar eigen inzicht slapen.

    De batterijbesparing van de app kiezen: ‘Geen beperkingen’ is gekozen
  3. Zet de app vast in de recente apps

    Open de lijst met recente apps en trek de kaart van Mock Location omlaag — er verschijnt een slotje. Vastgezette apps worden niet gesloten als je de lijst wist met het ‘X’ of met ‘alles wissen’ veegt.

    De lijst met recente apps: de kaart van Mock Location is vergrendeld met een slotje en wordt niet gesloten bij het opruimen
  4. Controleer of de simulatie standhoudt

    Zet de simulatie aan, minimaliseer de app en laat de telefoon tien à vijftien minuten met rust. Controleer daarna: de melding moet nog in het meldingenpaneel staan, en een andere kaartapp moet nog steeds het gekozen punt tonen.

    De vaste melding van Mock Location in het meldingenpaneel: locatiesimulatie draait op de achtergrond

Wat er onder de motorkap gebeurt

De firmware sluit het proces van de app af — in de systeemlogboeken zie je dat als een geforceerde stop op initiatief van het systeem. Daarna blijven de testproviders in Android geregistreerd met de laatst geschreven waarde, maar niemand schrijft er nog nieuwe coördinaten in: het proces dat ze aanmaakte, bestaat niet meer.

Van buitenaf lijkt dat op ‘de simulatie is bevroren’: de coördinaat blijft hetzelfde maar wordt niet meer bijgewerkt, en na een tijdje geeft het systeem weer de echte locatie.

Wat de app zelf doet

Twee herstelmechanismen werken los van de firmware-instellingen. Ten eerste: bij het openen vergelijkt de app de opgeslagen toestand met de werkelijke en brengt hij de simulatie terug als het proces is gestopt — die weg werkt altijd. Ten tweede: een waakhondtimer controleert regelmatig de toestand op de achtergrond en probeert de dienst zelf terug te brengen.

Maar beide hebben een grens: als de firmware de app verbiedt op de achtergrond te starten, is de dienst niet zonder jou terug te brengen — de code draait op dat moment gewoon niet.

Waarom automatisch starten belangrijker is dan de rest

Het verschil is meetbaar. Met automatisch starten uit start het systeem de dienst na het afsluiten van het proces helemaal niet opnieuw — herstel gebeurt pas als je de app zelf opent. Met automatisch starten aan brengt het systeem de afgesloten dienst in ongeveer drie seconden terug, pakt de app de opgeslagen toestand op en zet hij de simulatie voort zonder dat jij iets hoeft te doen.

Doe je dus maar één van de drie instellingen, doe dan automatisch starten.

Herstel na een herstart

Een actieve neplocatie wordt automatisch hersteld bij het opstarten van de telefoon, via de vroegste systeemgebeurtenis — nog voordat je het scherm ontgrendelt. Op een telefoon met pincode is dat de enige manier om de simulatie terug te brengen zonder te wachten tot je de telefoon oppakt.

Een meting op een echt HyperOS-apparaat liet zien waarom dat belangrijk is: de vroege wachtrij met opstartgebeurtenissen bereikt de app in iets meer dan een seconde, de gewone in zeventien seconden, omdat de systeemupdater, clouddiensten en bankapps voor in de rij staan.

Dezelfde instellingen op andere systemen

Vergelijkbaar gedrag zie je op Huawei (Instellingen → Batterij → App starten → zet het automatisch beheer voor de app uit), Samsung (Instellingen → Apparaatonderhoud → Batterij → Limieten voor achtergrondgebruik), OPPO, realme en vivo. De namen verschillen, het idee is hetzelfde: laat de app op de achtergrond draaien en sluit hem uit van agressieve batterijbesparing. Valt de simulatie nog steeds uit — veelvoorkomende oorzaken uitgelegd.

Mock Location — nep-gps-locatie op Android zonder root

Gratis, buiten Google Play. Je kunt de controlesom van het bestand vóór installatie nagaan.

APK downloaden