Xác định vị trí là một công việc khó thực hiện, khi bạn có thời lượng pin hạn chế và khi không có tín hiệu GPS trong các tòa nhà và những khu vực có nhiều tòa nhà lớn, v.v. Nhưng Android làm cho việc này dễ dàng hơn nhiều. Khi bạn yêu cầu một vị trí, bạn chỉ cần chỉ định độ chính xác mà bạn cần.
Nếu bạn chỉ định rằng bạn muốn một accuracy
ví dụ *100 meters*
, Android sẽ cố gắng lấy vị trí và nếu nó có thể nhận được vị trí với độ chính xác 70 mét, nó sẽ trả lại cho bạn, nhưng nếu Android có thể nhận được vị trí với độ chính xác cao hơn 100 mét, ứng dụng của bạn sẽ đợi và sẽ không nhận được bất cứ thứ gì cho đến khi có vị trí chính xác như vậy.
Thông thường, Android trước tiên sẽ lấy Cell ID và sau đó sẽ gửi nó đến máy chủ của Google, máy chủ này sẽ ánh xạ các Cell ID đó và máy chủ sẽ trả về vĩ độ và kinh độ với độ chính xác thấp, chẳng hạn như 1000 mét. Tại thời điểm này, Android cũng sẽ cố gắng xem tất cả các mạng WiFi trong khu vực và sẽ gửi thông tin về chúng đến máy chủ Google và nếu có thể máy chủ Google sẽ trả về một vị trí mới với độ chính xác cao hơn, ví dụ 800 mét.
Lúc này, GPS sẽ được bật. Thiết bị GPS cần ít nhất 30 giây kể từ khi khởi động nguội để sửa chữa, vì vậy nếu có thể sửa được, thiết bị sẽ trả về vĩ độ và kinh độ nhưng một lần nữa với độ chính xác, sẽ là cao nhất có thể đối với ví dụ là 100 mét. GPS hoạt động càng lâu, bạn sẽ nhận được độ chính xác càng cao.
Thông báo quan trọng: Hai phương pháp đầu tiên yêu cầu kết nối internet. Nếu không có kết nối dữ liệu, bạn sẽ phải đợi GPS, nhưng nếu thiết bị ở trong một tòa nhà, bạn có thể sẽ không nhận được vị trí.