ตำแหน่งจำลองบน Xiaomi: MIUI และ HyperOS

ปัญหา “เปิดการจำลองแล้ว สองสามนาทีต่อมาทุกอย่างกลับเหมือนเดิม” แทบทั้งหมดมาจากโทรศัพท์ Xiaomi, Redmi และ POCO สาเหตุไม่ได้อยู่ที่แอป MIUI และ HyperOS จัดการโปรเซสเบื้องหลังเข้มงวดกว่า Android ดั้งเดิม และปิดบริการที่ประคองการจำลองไว้ ด้านล่างคือสิ่งที่เกิดขึ้นจริงและการตั้งค่าสามอย่างที่แก้ได้

  1. เปิดการเริ่มอัตโนมัติให้แอป

    การตั้งค่า → แอป → จัดการแอป → Mock Location → “เริ่มอัตโนมัติ” (บางเวอร์ชันชื่อ “ทำงานในเบื้องหลัง”) นี่คือการตั้งค่าที่สำคัญที่สุดในสามข้อ หากไม่เปิด หลังโปรเซสถูกปิด ระบบจะไม่นำกลับมา และการจำลองจะไม่กลับมาจนกว่าคุณจะเปิดแอปเอง

    หน้าจอแอปในการตั้งค่า MIUI: เปิดสวิตช์ “เริ่มอัตโนมัติ” อยู่
  2. ยกเลิกข้อจำกัดแบตเตอรี่

    ในหน้าจอแอปเดียวกัน หา “ตัวประหยัดแบตเตอรี่” หรือ “การควบคุมกิจกรรม” แล้วเลือก “ไม่มีข้อจำกัด” ในโหมดนี้เฟิร์มแวร์จะเลิกสั่งให้บริการเบื้องหลังหลับตามดุลยพินิจของตัวเอง

    การเลือกโหมดประหยัดแบตเตอรี่ของแอป: เลือก “ไม่มีข้อจำกัด” ไว้
  3. ล็อกแอปในรายการล่าสุด

    เปิดรายการแอปล่าสุดแล้วดึงการ์ด Mock Location ลง จะมีไอคอนแม่กุญแจปรากฏ แอปที่ล็อกไว้จะไม่ถูกปิดเมื่อล้างรายการด้วยปุ่ม “X” หรือปัด “ล้างทั้งหมด”

    รายการแอปล่าสุด: การ์ด Mock Location ถูกล็อกด้วยไอคอนแม่กุญแจ และไม่ถูกปิดเมื่อล้างรายการ
  4. ตรวจว่าการจำลองอยู่ได้

    เปิดการจำลอง ย่อแอป แล้ววางโทรศัพท์ไว้สิบถึงสิบห้านาที จากนั้นตรวจ: การแจ้งเตือนควรยังอยู่ในแถบการแจ้งเตือน และแอปแผนที่อื่นควรยังแสดงจุดที่เลือก

    การแจ้งเตือนถาวรของ Mock Location ในแถบแจ้งเตือน: การจำลองตำแหน่งทำงานอยู่เบื้องหลัง

เกิดอะไรขึ้นเบื้องหลัง

เฟิร์มแวร์ปิดโปรเซสของแอป ในบันทึกของระบบจะเห็นเป็นการบังคับหยุดที่ระบบตัดสินใจ หลังจากนั้นผู้ให้บริการทดสอบยังลงทะเบียนอยู่ใน Android พร้อมค่าล่าสุดที่เขียนไว้ แต่ไม่มีใครเขียนพิกัดใหม่ลงไป เพราะโปรเซสที่สร้างไว้ไม่มีอยู่แล้ว

จากภายนอกจะดูเหมือน “การจำลองค้าง”: พิกัดยังเหมือนเดิมแต่ไม่อัปเดต และสักพักระบบจะกลับไปใช้ตำแหน่งจริง

แอปทำอะไรเองได้บ้าง

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

แต่ทั้งสองอย่างมีขีดจำกัด: หากเฟิร์มแวร์ห้ามแอปเริ่มในเบื้องหลัง บริการจะกลับมาเองไม่ได้ เพราะโค้ดไม่ได้ทำงานในตอนนั้น

ทำไมการเริ่มอัตโนมัติสำคัญกว่าการตั้งค่าอื่น

ความต่างวัดได้ หากปิดการเริ่มอัตโนมัติ หลังโปรเซสถูกปิด ระบบจะไม่รีสตาร์ทบริการเลย การกู้คืนจะเกิดเมื่อคุณเปิดแอปเองเท่านั้น หากเปิดการเริ่มอัตโนมัติ ระบบจะนำบริการที่ถูกปิดกลับมาในราวสามวินาที แอปจะรับสถานะที่บันทึกไว้และจำลองต่อโดยคุณไม่ต้องทำอะไร

หากทำได้แค่ข้อเดียวในสามข้อ ให้เปิดการเริ่มอัตโนมัติ

การกู้คืนหลังรีสตาร์ท

ตำแหน่งจำลองที่เปิดอยู่จะกลับมาเองเมื่อโทรศัพท์บูต โดยใช้เหตุการณ์ของระบบที่เร็วที่สุด ก่อนปลดล็อกหน้าจอด้วยซ้ำ บนโทรศัพท์ที่ใช้ PIN นี่เป็นวิธีเดียวที่จะนำการจำลองกลับมาโดยไม่ต้องรอให้คุณหยิบโทรศัพท์ขึ้นมา

การวัดบนอุปกรณ์ HyperOS จริงแสดงว่าทำไมเรื่องนี้สำคัญ: คิวเหตุการณ์บูตแรกถึงแอปในเวลาหนึ่งวินาทีกว่าๆ ส่วนคิวปกติใช้สิบเจ็ดวินาที เพราะตัวอัปเดตระบบ บริการคลาวด์ และแอปธนาคารอยู่ก่อนในคิว

การตั้งค่าเดียวกันในเฟิร์มแวร์อื่น

พฤติกรรมคล้ายกันพบบน Huawei (การตั้งค่า → แบตเตอรี่ → การเปิดแอป → ปิดการจัดการอัตโนมัติให้แอป), Samsung (การตั้งค่า → การดูแลอุปกรณ์ → แบตเตอรี่ → จำกัดการใช้งานเบื้องหลัง), OPPO, realme และ vivo ชื่อต่างกัน แต่หลักการเหมือนกัน: อนุญาตให้แอปทำงานในเบื้องหลัง และยกเว้นจากการประหยัดแบตเตอรี่แบบรุนแรง หากการจำลองยังหลุด ดูสาเหตุที่พบบ่อย

Mock Location — จำลองตำแหน่ง GPS บน Android โดยไม่ต้อง root

ใช้ฟรี ติดตั้งนอก Google Play ตรวจสอบค่าแฮชของไฟล์ได้ก่อนติดตั้ง

ดาวน์โหลด APK