Ứng dụng khác hiển thị vị trí thật của tôi — vì sao?
Android gắn cờ “từ nguồn mô phỏng” cho mọi tọa độ đến từ nhà cung cấp thử nghiệm. Ứng dụng có quyền kiểm tra cờ này và từ chối làm việc với dữ liệu như vậy — Mock Location không cố vượt qua việc kiểm tra này.
Android gắn cờ “từ nguồn mô phỏng” cho mọi tọa độ đến từ nhà cung cấp thử nghiệm. Cờ này không bị ẩn: bất kỳ ứng dụng nào cũng có thể đọc và quyết định xử lý dữ liệu như vậy thế nào.
Một số dịch vụ làm đúng như thế — và đó không phải trục trặc mà là lựa chọn có chủ ý của họ. Ứng dụng ngân hàng, hệ thống xác nhận giao hàng, chấm công doanh nghiệp, chương trình phần thưởng theo vị trí và trò chơi có hệ thống chống gian lận từ chối làm việc với tọa độ mô phỏng. Với họ, vị trí không phải tiện ích mà là bằng chứng cho một sự việc, và do bản chất nhiệm vụ, họ không thể chấp nhận dữ liệu không đáng tin cậy.
Không thể vượt qua việc kiểm tra này nếu không can thiệp vào ROM, và Mock Location cố ý không làm điều đó. Cờ này chỉ có thể bị ẩn bằng các module cấp Magisk trên thiết bị đã mở khóa bootloader — mất bảo hành, hỏng kiểm tra toàn vẹn hệ thống và có nguy cơ khiến điện thoại không dùng được. Chúng tôi không hỗ trợ và không mô tả con đường này; lý do, và vì sao nó vẫn không giải quyết được vấn đề, có trong bài có thể che giấu việc giả lập vị trí không.
Nhưng trước khi cho rằng nguyên nhân là cờ, hãy loại trừ ba lý do đơn giản hơn.
Thứ nhất là bộ nhớ đệm. Ứng dụng có thể đã nhớ điểm đã biết gần nhất và cứ hiển thị nó mà không hỏi điểm mới. Hãy đóng hẳn ứng dụng (đóng, không phải thu nhỏ) và mở lại khi giả lập đã bật.
Thứ hai là vị trí theo IP. Một số dịch vụ biết vị trí của bạn không phải từ hệ thống mà từ địa chỉ mạng; giả lập tọa độ hoàn toàn không ảnh hưởng đến kênh đó, và ở đây VPN mới giúp được, không phải đổi tọa độ. Khác biệt giữa hai cơ chế được giải thích trong bài giả lập vị trí hay VPN.
Thứ ba — ứng dụng chỉ hỏi vị trí một lần khi khởi chạy và không phản ứng với thay đổi sau đó. Khi đó hãy làm theo thứ tự ngược với thường lệ: bật giả lập trước, rồi mới mở ứng dụng.
Nếu không lý do nào phù hợp và ứng dụng vẫn hiển thị điểm thật khi giả lập đang bật, gần như chắc chắn nó đọc cờ nguồn mô phỏng, và không thể làm gì được.