Audio Focus Fix för Pokemon Go (och andra appar) utan rot

En handledning för att stoppa Pokemon Go (och andra appar) från att stjäla ljudfokus utan rot. Förhindrar Play Music, Spotify och PocketCasts från att stoppa uppspelningen!

Trots minskande popularitet, Pokémon Go har fortfarande en massor av fans spelar spelet varje dag. Även om de flesta av spelets problem har varit relaterat till fusk, det finns andra, mindre sådana som irriterar befintliga användare. Ett sådant problem är relaterat till ljudfokus i Android. Användare som gillar att lyssna på musik eller podcaster när de spelar Pokémon Go upptäcker att ljuduppspelningen omedelbart stoppas när de startar spelet. Detta kräver att användare manuellt startar om uppspelningen på sin favoritmediaapp som Google Play Musik, Spotify eller PocketCasts. Idag ska jag visa dig hur du stoppar Pokemon Go (eller någon annan app) från att stjäla permanent ljudfokus - utan rot.

Vad som händer när Pokemon Go lanseras är att den begär ljudfokus från systemet, vilket innebär att all befintlig medieuppspelning över samma volymström

duckade. Problemet här är att Androids ljudfokus är beroende av ett hederssystem bland applikationer. Android väljer inte vilka applikationer som ska prioriteras för att hålla fokus, utan förlitar sig på applikationer som begär och släpper fokus efter behov. Därför, eftersom Pokemon Go begär ljudfokus när den startar, kan andra applikationer inte hindra den från att ta över mediavolymen.

Vissa applikationer som t.ex Poweramp eller Podcastberoende har experimentella inställningar för att hålla fast vid ljudfokus för att förhindra att andra appar stjäl bort det, men det gör uppenbarligen inte många medieapplikationer där ute. Vissa användare har kommit på sitt eget sätt att behålla ljudfokus genom att använda Tasker profiler, vilket är något jag förmodligen skulle ha provat om det inte fanns ett bättre sätt - men tack och lov det finns. Det innebär användning av ett dolt ADB-kommando för att komma åt kommandoradsgränssnittet för Androids behörighetshanteringssystem, känt som appops. Med ett enda kommando kan du stoppa Pokemon Go (eller någon annan app) från att ta ljudfokus någonsin igen!

Metoden vi använder här är inriktad på vanliga, orotade användare som inte kör någon form av anpassad ROM. Anpassade ROM-användare, som de på LineageOS, kan ha tillgång till en mer kraftfull behörighetskontrollmetod som låter dem kringgå behovet av detta kommando.


Stoppa Pokémon Go från att ta ljudfokus - handledning

  1. Ladda ner och installera USB-drivrutiner för din enhet - troligen endast nödvändigt om på Windows.
  2. Ladda ner ADB binär för ditt operativsystem och extrahera filen till valfri mapp på din dator.
  3. Öppna Inställningar på din telefon och hitta sedan alternativet "Om telefonen".
  4. Rulla ned för att hitta värdet "Byggnummer" och tryck på det 7 gånger, aktivera utvecklarläge.
  5. Tillbaka till huvudmenyn i Inställningar, ange Utvecklaralternativ.
  6. Aktivera USB Debugging Mode här, som visas nedan.
  7. Anslut din telefon till din PC och på din telefon ändra USB-läget från "endast laddning"-läge till "filöverföring (MTP)"-läge.
  8. Tillbaka till datorn, navigera till där du extraherade ADB-binären.
  9. Öppna en kommandotolk i den här ADB-katalogen. I Windows är den enklaste metoden att göra detta att trycka på Skift+Högerklicka. I snabbmenyn väljer du alternativet "öppna kommandofönster här". Mac- eller Linux-användare, öppna en terminal.
  10. Ange följande kommando: adb devices
  11. Detta kommer att starta ADB-demonen. Om det här är första gången du kör ADB kommer du att se en uppmaning som ber dig att auktorisera en anslutning. Tillåt det.
  12. Kör kommandot igen från steg 10 så ser du enhetens serienummer i utgången. Gå i så fall vidare till nästa steg. Om inte, installera om dina drivrutiner.
  13. (Frivillig): om du vill begränsa en annan app än Pokemon Go från att ha ljudfokus, installera sedan Appinspektör app och hitta paketet som anges under appens namn.
  14. Skicka följande kommando: adb shell
  15. Kör sedan detta kommando: cmd appops set TAKE_AUDIO_FOCUS ignore. Så till exempel, för Pokemon Go skulle kommandot vara: cmd appops set com.nianticlabs.pokemongo TAKE_AUDIO_FOCUS ignore
    Exempel: Kommando som används för Pokemon Go

    Uppdatering: om kommandot ovan inte fungerar för dig, försök att utesluta "cmd" från kommandot. Jag har hört att detta kan behövas om du kör Android 6.0 Marshmallow eller tidigare.

  16. Så länge du inte får något felmeddelande i fönstret borde det ha fungerat. Grattis! Nu kommer inte Pokemon Go att stoppa Google Play Musik, Spotify, PocketCasts eller någon annan app från att spela ovanpå den!

Förklaring

Som nämnts i början använder vi kommandoraden för att samverka med appops, som är Androids användarinriktade system för hantering av appbehörigheter. Som standard finns det bara en handfull behörigheter som användare kan växla genom inställningsgränssnittet. Vissa anpassade ROM-skivor (som LineageOS med dess Privacy Guard) exponerar fler behörigheter som du kan begränsa, men för orotade användare är det enda sättet att hantera dessa behörigheter genom kommandoraden.

Hur som helst, det särskilda tillstånd vi begränsar är android.permission.TAKE_AUDIO_FOCUS som varje ansökan som begär det i deras AndroidManifest.xml filen beviljas automatiskt vid installationen. Tack vare ovanstående appops-kommando kan vi ta bort denna behörighet från Pokemon Go, vilket betyder att det inte kan längre begär ljudfokus och kan därmed inte längre stoppa andra musik- eller podcastappar på din telefon från spelar.

Även om handledningen ovan är riktad till Pokemon Go-användare, kan du tekniskt sett göra samma sak för alla andra appar. Ändra bara namnet på paketet i steg #15 med vilken annan app du vill. Var bara försiktig så att du inte går runt och begränsar den här behörigheten helt villigt, eftersom Google avsiktligt dolde den här behörigheten från att begränsas så att användarna inte skulle förstöra saker och ting.

Se andra bra tutorials som denna i vår tutorials kategori. Håll dig uppdaterad om de senaste nyheterna med XDA Labs-applikationen.