การแก้ไขโฟกัสเสียงสำหรับ Pokemon Go (และแอพอื่น ๆ ) โดยไม่ต้องรูท

บทช่วยสอนเพื่อหยุด Pokemon Go (และแอพอื่น ๆ ) จากการขโมยโฟกัสเสียงโดยไม่ต้องรูท ป้องกันไม่ให้ Play Music, Spotify และ PocketCasts หยุดเล่น!

ถึงแม้ความนิยมจะลดน้อยลงก็ตาม โปเกมอน โก ยังคงมี แฟน ๆ มากมาย เล่นเกมทุกวัน แม้ว่าปัญหาส่วนใหญ่ของเกมจะได้รับ เกี่ยวข้องกับการโกงยังมีสิ่งเล็กๆ น้อยๆ อีกหลายอย่างที่รบกวนผู้ใช้ที่มีอยู่ ปัญหาดังกล่าวประการหนึ่งเกี่ยวข้องกับการโฟกัสเสียงใน Android ผู้ใช้ที่ชอบฟังเพลงหรือพอดแคสต์เมื่อเล่น Pokemon Go พบว่าการเล่นเสียงจะหยุดทันทีเมื่อเปิดเกม การดำเนินการนี้กำหนดให้ผู้ใช้รีสตาร์ทการเล่นด้วยตนเองบนแอปสื่อโปรด เช่น Google Play Music, Spotify หรือ PocketCasts วันนี้ฉันจะแสดงวิธีหยุด Pokemon Go (หรือแอปอื่น ๆ ) จากการขโมยโฟกัสเสียงถาวร - โดยไม่ต้องรูท.

จะเกิดอะไรขึ้นเมื่อ Pokemon Go เปิดตัวคือมันร้องขอการโฟกัสเสียงจากระบบ ซึ่งหมายความว่าการเล่นสื่อใด ๆ ที่มีอยู่บนสตรีมระดับเสียงเดียวกันจะถูก เป็ด. ปัญหาอยู่ที่ว่าการโฟกัสเสียงของ Android ขึ้นอยู่กับระบบการให้เกียรติระหว่างแอปพลิเคชันต่างๆ Android ไม่ได้เลือกและเลือกแอปพลิเคชันที่ควรจัดลำดับความสำคัญเพื่อโฟกัส แต่จะขึ้นอยู่กับแอปพลิเคชันที่ร้องขอและปล่อยโฟกัสตามความจำเป็น ดังนั้น เนื่องจาก Pokemon Go ร้องขอการโฟกัสเสียงเมื่อเปิดตัว แอปพลิเคชันอื่นจึงไม่สามารถหยุดไม่ให้มันเข้าควบคุมระดับเสียงของสื่อได้

แอปพลิเคชั่นบางตัวเช่น พาวเวอร์แอมป์ หรือ ติดพอดคาสต์ มีการตั้งค่าทดลองเพื่อยึดโฟกัสเสียงไว้เพื่อป้องกันไม่ให้แอปอื่นๆ ขโมยไป แต่เห็นได้ชัดว่าแอปพลิเคชันสื่อจำนวนมากไม่มีอยู่จริง ผู้ใช้บางคนมีวิธีการของตนเองในการรักษาโฟกัสเสียงผ่านการใช้ Tasker โปรไฟล์ ซึ่งเป็นสิ่งที่ฉันน่าจะลองใช้หากไม่มีวิธีที่ดีกว่า - แต่ก็โชคดี นั่นก็คือ มันเกี่ยวข้องกับการใช้คำสั่ง ADB ที่ซ่อนอยู่เพื่อเข้าถึงอินเทอร์เฟซบรรทัดคำสั่งสำหรับระบบการจัดการสิทธิ์ของ Android ที่เรียกว่า appops ด้วยคำสั่งเดียว คุณสามารถหยุด Pokemon Go (หรือแอปอื่น ๆ ) ไม่ให้เน้นเสียงได้อีกต่อไป!

วิธีที่เราใช้ที่นี่มุ่งเป้าไปที่ผู้ใช้สต็อกที่ยังไม่ได้รูทซึ่งไม่ได้ใช้ ROM แบบกำหนดเองใดๆ ผู้ใช้ ROM แบบกำหนดเอง เช่น ผู้ใช้บน LineageOS อาจมีสิทธิ์เข้าถึงวิธีควบคุมการอนุญาตที่มีประสิทธิภาพยิ่งขึ้น ซึ่งทำให้พวกเขาข้ามความต้องการคำสั่งนี้ได้


หยุด Pokemon Go จากการโฟกัสเสียง - บทช่วยสอน

  1. ดาวน์โหลดแล้วติดตั้งไดรเวอร์ USB สำหรับคุณ อุปกรณ์ - เป็นไปได้มากว่าจะจำเป็นเฉพาะเมื่อบน Windows
  2. ดาวน์โหลด ไบนารี ADB สำหรับระบบปฏิบัติการของคุณและแยกไฟล์ไปยังโฟลเดอร์ใดก็ได้บนพีซีของคุณ
  3. บนโทรศัพท์ของคุณ ให้เปิดการตั้งค่า จากนั้นหาตัวเลือก "เกี่ยวกับโทรศัพท์"
  4. เลื่อนลงเพื่อค้นหาค่า "Build Number" แล้วแตะ 7 ครั้ง เพื่อเปิดใช้งานโหมดนักพัฒนาซอฟต์แวร์
  5. กลับไปที่เมนูหลักในการตั้งค่า ป้อนตัวเลือกนักพัฒนา
  6. เปิดใช้งานโหมดการแก้ไขจุดบกพร่อง USB ที่นี่ ดังที่แสดงด้านล่าง
  7. เสียบโทรศัพท์ของคุณเข้ากับพีซีและโทรศัพท์ของคุณเปลี่ยนโหมด USB จากโหมด "ชาร์จเท่านั้น" เป็นโหมด "ถ่ายโอนไฟล์ (MTP)"
  8. กลับไปที่พีซี นำทางไปยังตำแหน่งที่คุณแตกไบนารี ADB
  9. เปิด Command Prompt ในไดเร็กทอรี ADB นี้ บน Windows วิธีที่ง่ายที่สุดในการดำเนินการนี้คือกด Shift+คลิกขวา ในเมนูบริบท เลือกตัวเลือก "เปิดหน้าต่างคำสั่งที่นี่" ผู้ใช้ Mac หรือ Linux ให้เปิด Terminal
  10. ป้อนคำสั่งต่อไปนี้: adb devices
  11. สิ่งนี้จะเริ่มต้น ADB daemon หากนี่เป็นครั้งแรกที่คุณใช้งาน 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 สำหรับจัดการสิทธิ์ของแอป ตามค่าเริ่มต้น มีเพียงไม่กี่สิทธิ์ที่ผู้ใช้สามารถสลับผ่าน UI การตั้งค่าได้ ROM แบบกำหนดเองบางตัว (เช่น LineageOS พร้อม Privacy Guard) เปิดเผยสิทธิ์เพิ่มเติมที่คุณสามารถจำกัดได้ แต่สำหรับผู้ใช้ที่ยังไม่ได้รูท วิธีเดียวที่จะจัดการสิทธิ์เหล่านี้คือผ่านบรรทัดคำสั่ง

อย่างไรก็ตาม การอนุญาตเฉพาะที่เราจำกัดอยู่ก็คือ android.permission.TAKE_AUDIO_FOCUS ซึ่งแอปพลิเคชันใด ๆ ที่ร้องขอไว้ในนั้น AndroidManifest.xml ไฟล์จะได้รับโดยอัตโนมัติเมื่อติดตั้ง ด้วยคำสั่ง appops ข้างต้น เราสามารถยกเลิกการอนุญาตนี้จาก Pokemon Go ได้ ซึ่งหมายความว่าไม่สามารถทำได้ ขอโฟกัสเสียงอีกต่อไป และไม่สามารถหยุดแอปเพลงหรือพอดแคสต์อื่น ๆ บนโทรศัพท์ของคุณได้อีกต่อไป กำลังเล่น

แม้ว่าบทช่วยสอนข้างต้นจะมุ่งเป้าไปที่ผู้ใช้ Pokemon Go แต่ในทางเทคนิคแล้ว คุณสามารถทำสิ่งเดียวกันนี้กับแอปอื่น ๆ ได้ เพียงแก้ไขชื่อแพ็คเกจในขั้นตอนที่ 15 ด้วยแอปอื่น ๆ ที่คุณต้องการ เพียงระวังอย่าจำกัดการอนุญาตนี้โดยไม่ได้ตั้งใจ เนื่องจาก Google จงใจซ่อนการอนุญาตนี้ไม่ให้ถูกจำกัด เพื่อให้ผู้ใช้ไม่ทำเรื่องเสียหาย

ดูบทช่วยสอนที่ยอดเยี่ยมอื่นๆ เช่นนี้ในของเรา หมวดบทช่วยสอน. ติดตามข่าวสารล่าสุดด้วยแอปพลิเคชัน XDA Labs