2013-04-17 31 views
5

Tôi mới sử dụng Android. Tôi muốn nhận các vị trí GPS trong khoảng thời gian 3 phút, nhưng tôi nhận được các cập nhật vị trí mỗi giây.Làm thế nào để tránh cập nhật vị trí thường xuyên?

Làm cách nào để tránh điều này?

Vui lòng đề xuất điều gì đó. Tôi đang sử dụng đoạn mã sau:

captureFrequencey=3*60*1000;  
LocationMngr.requestLocationUpdates(
    LocationManager.GPS_PROVIDER, captureFrequencey, 0, this); 
+1

Bạn nên đăng thêm mã, thật khó để nói bất cứ điều gì dựa trên đoạn mã này. – Egor

Trả lời

3
LocationMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER, captureFrequencey, 0, this); 

Thats vì bạn thiết lập khoảng cách tối thiểu để 0. Thay đổi nó đến 100 mét và kiểm tra!

LocationMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER, captureFrequencey, 100, this); 


Tham khảo documentation.

+0

Cảm ơn rất nhiều! Nó đã làm việc. Tôi đã thay đổi khoảng cách tối thiểu thành 100. –

+0

Rất vui được! Hãy chấp nhận nó như một câu trả lời khi có thể. –

+0

Tôi đã chấp nhận câu trả lời của bạn. Cảm ơn một lần nữa –

0

Xem chiến lược vị trí trong docs

2

Lazy Ninja đã cung cấp cho bạn giải pháp.
Nhưng bạn nên hiểu rằng, khi bạn gọi yêu cầu cập nhật vị trí, nó sẽ kiểm tra các điều kiện thời gian tối thiểu & phút và nếu có ai đó đúng thì sẽ bắt được vị trí đó. Trong mã của bạn

LocationMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 
               captureFrequencey, 0, this); 

bạn đã đề cập 0 là khoảng cách tối thiểu, điều kiện này luôn đúng. Vì vậy, bạn đang nhận được cập nhật vị trí thường xuyên.
Hy vọng thông tin này sẽ giúp bạn.

+0

Cảm ơn rất nhiều sachin.surya89 –

+0

bạn thân nhất –

0

Chỉ cần một điểm nhanh để thêm vào câu trả lời đúng được cung cấp ... đặt thời gian cập nhật & khoảng cách sẽ không hoạt động giống nhau trên tất cả các thiết bị.

Các thông số này được coi là "gợi ý" cho Nhà cung cấp vị trí.

Vì vậy, trong khi thực hành tốt, một số thiết bị có thể không luôn tuân thủ các giá trị chính xác này.

Các vấn đề liên quan