En tutorial til at forhindre Pokemon Go (og andre apps) i at stjæle lydfokus uden rod. Forhindrer Play Music, Spotify og PocketCasts i at stoppe afspilningen!
På trods af faldende popularitet, Pokemon Go har stadig en ton af fans spiller spillet hver dag. Selvom de fleste af spillets problemer har været relateret til snyd, er der andre, mere mindre, der irriterer eksisterende brugere. Et sådant problem er relateret til lydfokus i Android. Brugere, der kan lide at lytte til musik eller podcasts, når de spiller Pokemon Go, opdager, at lydafspilningen stopper med det samme, når de starter spillet. Dette kræver, at brugere manuelt genstarter afspilning på deres foretrukne medieapp, såsom Google Play Musik, Spotify eller PocketCasts. I dag vil jeg vise dig, hvordan du forhindrer Pokemon Go (eller enhver anden app) i at stjæle permanent lydfokus - uden rod.
Det, der sker, når Pokemon Go lanceres, er, at det anmoder om lydfokus fra systemet, hvilket betyder, at enhver eksisterende medieafspilning over den samme volumenstrøm vil blive
dukkede sig. Problemet her er, at Androids lydfokus er afhængig af et æressystem blandt applikationer. Android vælger ikke, hvilke applikationer der skal prioriteres for at holde fokus, i stedet er den afhængig af applikationer, der anmoder om og frigiver fokus efter behov. Fordi Pokemon Go anmoder om lydfokus, når den starter, kan andre applikationer således ikke forhindre den i at overtage medievolumen.Nogle applikationer som f.eks Poweramp eller Podcast afhængig har eksperimentelle indstillinger til at holde på lydfokus for at forhindre andre apps i at stjæle det væk, men det gør naturligvis mange medieapplikationer derude ikke. Nogle brugere har fundet på deres egen måde at bevare lydfokus gennem brugen af Tasker profiler, hvilket er noget, jeg sandsynligvis ville have prøvet, hvis der ikke var en bedre måde - men heldigvis der er. Det involverer brugen af en skjult ADB-kommando for at få adgang til kommandolinjegrænsefladen til Androids tilladelsesstyringssystem kendt som appops. Med en enkelt kommando kan du stoppe Pokemon Go (eller enhver anden app) i at tage lydfokus nogensinde igen!
Metoden, vi bruger her, er rettet mod standardbrugere uden rod, som ikke kører nogen form for tilpasset ROM. Brugerdefinerede ROM-brugere, såsom dem på LineageOS, kan have adgang til en mere kraftfuld tilladelseskontrolmetode, der lader dem omgå behovet for denne kommando.
Stop Pokemon Go fra at tage lydfokus - vejledning
- Download og installer USB-drivere til din enhed - højst sandsynligt kun nødvendigt hvis på Windows.
- Download ADB binær til dit OS og udpak filen til en hvilken som helst mappe på din pc.
- Åbn Indstillinger på din telefon, og find derefter indstillingen "Om telefon".
- Rul ned for at finde værdien "Build Number", og tryk på den 7 gange, så du aktiverer udviklertilstand.
- Tilbage til hovedmenuen i Indstillinger, indtast Udviklerindstillinger.
- Aktiver USB Debugging Mode her, som vist nedenfor.
- Tilslut din telefon til din pc, og skift USB-tilstanden på din telefon fra tilstanden "kun opladning" til tilstanden "filoverførsel (MTP)".
- Tilbage til pc'en, naviger til det sted, hvor du udpakkede ADB-binæren.
- Åbn en kommandoprompt i denne ADB-mappe. På Windows er den nemmeste metode til at gøre dette ved at trykke på Shift+Højreklik. Vælg "åbn kommandovindue her" i kontekstmenuen. Mac- eller Linux-brugere skal åbne en terminal.
- Indtast følgende kommando:
adb devices
- Dette vil starte ADB-dæmonen. Hvis det er første gang, du kører ADB, vil du se en prompt, der beder dig om at godkende en forbindelse. Tillad det.
- Kør kommandoen igen fra trin 10, og du vil se serienummeret på din enhed i outputtet. Hvis ja, gå videre til næste trin. Hvis ikke, geninstaller dine drivere.
- (Valgfri): hvis du vil begrænse en anden app end Pokemon Go fra at have lydfokus, så installer App Inspektør app og find pakken, der er angivet under appens navn.
- Send følgende kommando:
adb shell
- Udfør derefter denne kommando:
cmd appops set
. Så for eksempel for Pokemon Go ville kommandoen være:TAKE_AUDIO_FOCUS ignore cmd appops set com.nianticlabs.pokemongo TAKE_AUDIO_FOCUS ignore
Opdatering: hvis ovenstående kommando ikke virker for dig, prøv at udelukke "cmd" fra kommandoen. Jeg har hørt, at dette kan være nødvendigt, hvis du kører på Android 6.0 Marshmallow eller tidligere.
- Så længe du ikke får en fejlmeddelelse i vinduet, burde det have virket. Tillykke! Nu vil Pokemon Go ikke stoppe Google Play Musik, Spotify, PocketCasts eller nogen anden app i at spille oven på det!
Forklaring
Som nævnt i begyndelsen bruger vi kommandolinjen til at interface med appops, som er Androids brugervendte system til håndtering af app-tilladelser. Som standard er der kun en håndfuld tilladelser, som brugere kan skifte gennem indstillingsbrugergrænsefladen. Visse brugerdefinerede ROM'er (såsom LineageOS med dets Privacy Guard) afslører flere tilladelser, du kan begrænse, men for brugere uden rod er den eneste måde at håndtere disse tilladelser på via kommandolinjen.
Anyways, den særlige tilladelse, vi begrænser, er android.permission.TAKE_AUDIO_FOCUS
som enhver applikation, der anmoder om det i deres AndroidManifest.xml
fil tildeles automatisk ved installation. Takket være ovenstående appops-kommando kan vi fjerne denne tilladelse fra Pokemon Go, hvilket betyder, at den ikke kan længere anmode om lydfokus og kan dermed ikke længere stoppe andre musik- eller podcast-apps på din telefon fra spiller.
Selvom vejledningen ovenfor er rettet mod Pokemon Go-brugere, kan du teknisk set gøre det samme for enhver anden app. Du skal bare ændre navnet på pakken i trin #15 med den anden app, du ønsker. Bare pas på, at du ikke går rundt og begrænser denne tilladelse helt vildt, fordi Google med vilje skjulte denne tilladelse fra at blive begrænset, så brugerne ikke ville rod i tingene.
Se andre gode tutorials som denne i vores tutorials kategori. Hold dig ajour med de seneste nyheder med XDA Labs-applikationen.