Audio Focus Fix за Pokemon Go (и други приложения) без руут

Урок за спиране на Pokemon Go (и други приложения) от кражба на аудио фокус без root. Не позволява на Play Music, Spotify и PocketCasts да спрат възпроизвеждането!

Въпреки намаляващата популярност, Pokemon Go все още има a тон фенове играейки играта всеки ден. Въпреки че повечето от проблемите на играта са били свързани с измама, има други, по-незначителни, които дразнят съществуващите потребители. Един такъв проблем е свързан с аудио фокуса в Android. Потребителите, които обичат да слушат музика или подкасти, когато играят Pokemon Go, откриват, че възпроизвеждането на аудио веднага спира, когато стартират играта. Това изисква потребителите ръчно да рестартират възпроизвеждането в любимите си медийни приложения като Google Play Music, Spotify или PocketCasts. Днес ще ви покажа как да спрете Pokemon Go (или всяко друго приложение) да открадне постоянен аудио фокус - без корен.

Това, което се случва, когато Pokemon Go стартира е, че той изисква аудио фокус от системата, което означава, че всяко съществуващо възпроизвеждане на мултимедия през същия обемен поток ще бъде

наведена. Проблемът тук е, че аудио фокусът на Android разчита на система за чест сред приложенията. Android не избира кои приложения трябва да имат приоритет, за да задържат фокуса, вместо това той разчита на приложения, които изискват и освобождават фокус, ако е необходимо. По този начин, тъй като Pokemon Go изисква аудио фокус, когато се стартира, други приложения не могат да го спрат да поеме обема на мултимедията.

Някои приложения, като напр Poweramp или Подкаст наркоман имат експериментални настройки за задържане на аудио фокуса, за да попречат на други приложения да го откраднат, но очевидно много медийни приложения не го правят. Някои потребители са измислили свой собствен начин да запазят аудио фокуса чрез използването на Tasker профили, което е нещо, което вероятно щях да опитам, ако нямаше по-добър начин - но за щастие има. Това включва използването на скрита ADB команда за достъп до интерфейса на командния ред за системата за управление на разрешения на Android, известна като appops. С една единствена команда можете да спрете Pokemon Go (или което и да е друго приложение) да фокусира звука отново!

Методът, който използваме тук, е насочен към стандартни, нерутирани потребители, които не използват какъвто и да е персонализиран ROM. Потребителите на персонализирани ROM, като тези на LineageOS, може да имат достъп до по-мощен метод за контрол на разрешенията, който им позволява да заобиколят необходимостта от тази команда.


Спрете Pokemon Go да заема аудио фокус - Урок

  1. Изтеглете и след това инсталирайте USB драйвери за вашия устройство - най-вероятно е необходимо само ако е на Windows.
  2. Изтеглете ADB двоичен файл за вашата операционна система и извлечете файла във всяка папка на вашия компютър.
  3. На телефона си отворете Настройки, след което намерете опцията „Относно телефона“.
  4. Превъртете надолу, за да намерите стойността „Номер на компилация“ и я докоснете 7 пъти, активирайки режима за разработчици.
  5. Върнете се в главното меню в Настройки, въведете Опции за разработчици.
  6. Активирайте USB режима за отстраняване на грешки тук, както е показано по-долу.
  7. Включете телефона си в компютъра и на телефона променете USB режима от режим „само зареждане“ на режим „прехвърляне на файлове (MTP)“.
  8. Върнете се към компютъра, навигирайте до мястото, където сте извлекли двоичния файл на ADB.
  9. Отворете командния ред в тази ADB директория. В Windows най-лесният метод да направите това е да натиснете Shift+щракване с десен бутон. В контекстното меню изберете опцията „отваряне на командния прозорец тук“. Потребители на Mac или Linux, отворете терминал.
  10. Въведете следната команда: adb devices
  11. Това ще стартира ADB демона. Ако за първи път стартирате ADB, ще видите подкана с молба да разрешите връзка. Позволи го.
  12. Изпълнете отново командата от стъпка 10 и ще видите серийния номер на вашето устройство в изхода. Ако е така, преминете към следващата стъпка. Ако не, инсталирайте отново драйверите си.
  13. (Не е задължително): ако искате да ограничите аудио фокуса на приложение, различно от Pokemon Go, инсталирайте Инспектор на приложения приложение и намерете пакета, посочен под името на приложението.
  14. Изпратете следната команда: adb shell
  15. След това изпълнете тази команда: cmd appops set TAKE_AUDIO_FOCUS ignore. Така например, за Pokemon Go командата ще бъде: cmd appops set com.nianticlabs.pokemongo TAKE_AUDIO_FOCUS ignore
    Пример: Команда, използвана за Pokemon Go

    Актуализация: ако горната команда не работи за вас, опитайте да изключите "cmd" от командата. Чувал съм, че това може да е необходимо, ако работите с Android 6.0 Marshmallow или по-стара версия.

  16. Докато не получавате съобщение за грешка в прозореца, трябваше да работи. Честито! Сега Pokemon Go няма да спре Google Play Music, Spotify, PocketCasts или което и да е друго приложение да играе върху него!

Обяснение

Както споменахме в началото, ние използваме командния ред за взаимодействие с appops, което е ориентираната към потребителя система на Android за обработка на разрешенията за приложения. По подразбиране има само няколко разрешения, които потребителите могат да превключват през потребителския интерфейс за настройки. Някои персонализирани ROM (като LineageOS с нейната Privacy Guard) разкриват повече разрешения, които можете да ограничите, но за нерутирани потребители единственият начин да се справят с тези разрешения е чрез командния ред.

Както и да е, конкретното разрешение, което ограничаваме, е android.permission.TAKE_AUDIO_FOCUS което всяко приложение, което го изисква в техните AndroidManifest.xml файл се предоставя автоматично при инсталиране. Благодарение на горната команда appops, можем да отнемем това разрешение от Pokemon Go, което означава, че не може вече изисква аудио фокус и по този начин вече не може да спира други музикални или подкаст приложения на вашия телефон играя.

Въпреки че урокът по-горе е насочен към потребителите на Pokemon Go, технически можете да направите същото за всяко друго приложение. Просто променете името на пакета в стъпка #15 с каквото друго приложение искате. Само внимавайте да не ограничавате това разрешение без да искате, защото Google умишлено скри това разрешение от ограничаване, така че потребителите да не объркат нещата.

Вижте други страхотни уроци като този в нашия категория уроци. Бъдете в крак с последните новини с приложението XDA Labs.