Een tutorial om te voorkomen dat Pokemon Go (en andere apps) de audiofocus stelen zonder root. Voorkomt dat Play Music, Spotify en PocketCasts het afspelen stoppen!
Ondanks de afnemende populariteit, Pokémon Go heeft nog steeds een ton fans speel het spel elke dag. Hoewel de meeste problemen met de game dat wel waren gerelateerd aan bedrog, er zijn andere, kleinere, die bestaande gebruikers irriteren. Een voorbeeld van zo'n probleem houdt verband met de audiofocus in Android. Gebruikers die graag naar muziek of podcasts luisteren tijdens het spelen van Pokemon Go, merken dat het afspelen van audio onmiddellijk stopt wanneer ze de game starten. Hiervoor moeten gebruikers het afspelen handmatig opnieuw starten op hun favoriete media-app zoals Google Play Music, Spotify of PocketCasts. Vandaag ga ik je laten zien hoe je kunt voorkomen dat Pokemon Go (of een andere app) permanente audiofocus steelt - zonder wortel.
Wat er gebeurt wanneer Pokemon Go wordt gelanceerd, is dat het om audiofocus van het systeem vraagt, wat betekent dat het afspelen van bestaande media via dezelfde volumestroom zal worden uitgevoerd.
dook. Het probleem hier is dat de audiofocus van Android afhankelijk is van een eersysteem onder applicaties. Android kiest niet welke applicaties prioriteit moeten krijgen om de focus vast te houden, maar vertrouwt in plaats daarvan op applicaties die de focus opvragen en vrijgeven als dat nodig is. Omdat Pokemon Go audiofocus vraagt wanneer het wordt gestart, kunnen andere applicaties niet voorkomen dat het het mediavolume overneemt.Sommige toepassingen zoals Krachtversterker of Podcast-verslaafde hebben experimentele instellingen om de audiofocus vast te houden om te voorkomen dat andere apps deze stelen, maar uiteraard doen veel mediatoepassingen dat niet. Sommige gebruikers hebben hun eigen manier bedacht om de audiofocus te behouden door het gebruik van Tasker profielen, iets wat ik waarschijnlijk zou hebben geprobeerd als er geen betere manier was - maar gelukkig er bestaat. Het omvat het gebruik van een verborgen ADB-opdracht om toegang te krijgen tot de opdrachtregelinterface voor het toestemmingsbeheersysteem van Android, bekend als appops. Met één enkele opdracht kun je voorkomen dat Pokemon Go (of een andere app) ooit nog audiofocus krijgt!
De methode die we hier gebruiken is bedoeld voor gewone, niet-geroote gebruikers die geen enkel aangepast ROM gebruiken. Aangepaste ROM-gebruikers, zoals die op LineageOS, hebben mogelijk toegang tot een krachtigere methode voor toestemmingscontrole waarmee ze de noodzaak van deze opdracht kunnen omzeilen.
Voorkom dat Pokemon Go audiofocus neemt - zelfstudie
- Download en installeer vervolgens USB-stuurprogramma's voor uw apparaat - hoogstwaarschijnlijk alleen nodig als je Windows gebruikt.
- Download de ADB binair voor uw besturingssysteem en pak het bestand uit naar een willekeurige map op uw pc.
- Open Instellingen op uw telefoon en zoek vervolgens de optie 'Over de telefoon'.
- Scroll naar beneden om de waarde "Build Number" te vinden en tik er 7 keer op, waardoor de ontwikkelaarsmodus wordt ingeschakeld.
- Terug naar het hoofdmenu in Instellingen, voer Ontwikkelaarsopties in.
- Schakel hier de USB-foutopsporingsmodus in, zoals hieronder weergegeven.
- Sluit uw telefoon aan op uw pc en verander op uw telefoon de USB-modus van de modus 'alleen opladen' naar de modus 'bestandsoverdracht (MTP)'.
- Terug naar de pc, navigeer naar waar u het ADB-binaire bestand hebt uitgepakt.
- Open een opdrachtprompt in deze ADB-map. In Windows is de eenvoudigste manier om dit te doen het indrukken van Shift+Rechtsklikken. Kies in het contextmenu de optie "open het opdrachtvenster hier". Mac- of Linux-gebruikers: open een Terminal.
- Voer de volgende opdracht in:
adb devices
- Hiermee wordt de ADB-daemon gestart. Als dit de eerste keer is dat u ADB gebruikt, ziet u een prompt waarin u wordt gevraagd een verbinding te autoriseren. Sta het toe.
- Voer de opdracht opnieuw uit vanaf stap 10 en u ziet het serienummer van uw apparaat in de uitvoer. Als dit het geval is, gaat u verder met de volgende stap. Als dit niet het geval is, installeert u uw stuurprogramma's opnieuw.
- (Optioneel): als je wilt voorkomen dat een andere app dan Pokemon Go audiofocus heeft, installeer dan de App-inspecteur app en zoek het pakket vermeld onder de naam van de app.
- Stuur het volgende commando:
adb shell
- Voer vervolgens dit commando uit:
cmd appops set
. Voor Pokemon Go zou het commando bijvoorbeeld zijn:TAKE_AUDIO_FOCUS ignore cmd appops set com.nianticlabs.pokemongo TAKE_AUDIO_FOCUS ignore
Update: als de bovenstaande opdracht niet voor u werkt, probeer dan "cmd" uit de opdracht uit te sluiten. Ik heb gehoord dat dit nodig kan zijn als je Android 6.0 Marshmallow of eerder gebruikt.
- Zolang je geen foutmelding in het venster krijgt, zou het moeten werken. Gefeliciteerd! Nu zal Pokemon Go Google Play Music, Spotify, PocketCasts of een andere app er niet van weerhouden om er bovenop te spelen!
Uitleg
Zoals in het begin vermeld, gebruiken we de opdrachtregel om te communiceren met appops, het gebruikersgerichte systeem van Android voor het afhandelen van app-machtigingen. Standaard zijn er slechts een handvol machtigingen die gebruikers kunnen wijzigen via de gebruikersinterface van Instellingen. Bepaalde aangepaste ROM's (zoals LineageOS met zijn Privacy Guard) bieden meer machtigingen die u kunt beperken, maar voor niet-geroote gebruikers is de enige manier om met deze machtigingen om te gaan via de opdrachtregel.
Hoe dan ook, de specifieke toestemming die we beperken is dat wel android.permission.TAKE_AUDIO_FOCUS
welke elke toepassing die daarom vraagt in hun AndroidManifest.xml
bestand wordt automatisch toegekend tijdens de installatie. Dankzij het bovenstaande appops-commando kunnen we deze toestemming van Pokemon Go wegnemen, wat betekent dat dit niet kan vraag niet langer om audiofocus en kan dus niet langer andere muziek- of podcast-apps op je telefoon stoppen spelen.
Hoewel de bovenstaande tutorial bedoeld is voor Pokemon Go-gebruikers, kun je technisch gezien hetzelfde doen voor elke andere app. Wijzig gewoon de naam van het pakket in stap #15 met welke andere app u maar wilt. Pas op dat u deze toestemming niet zomaar beperkt, omdat Google deze toestemming opzettelijk heeft verborgen zodat gebruikers er geen puinhoop van zouden maken.
Zie andere geweldige tutorials zoals deze in onze categorie tutorials. Blijf op de hoogte van het laatste nieuws met de XDA Labs-applicatie.