2010-07-13 32 views
7

Tôi nhận thấy rằng các ứng dụng như Trạng thái GPS được sửa chữa khá nhanh chóng. Khi tôi cố gắng sửa chữa trong ứng dụng của riêng tôi, phải mất nhiều thời gian hơn. Có ai biết tại sao điều này xảy ra? Họ có sử dụng một phần ẩn của API để buộc GPS kết nối nhanh hơn không?Sửa lỗi GPS nhanh hơn trong Android

Đây là những gì tôi sử dụng

LocationManager loc = (LocationManager) context 
      .getSystemService(Context.LOCATION_SERVICE); 
loc.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, 
      listener); 

Tôi muốn GPS để cho kết quả như thường xuyên càng tốt bởi vì tôi cần nó cho một ứng dụng AR :) Mặc dù tôi đặt các thiết lập như 1000 ms và 1 m để cập nhật tần số không có sự khác biệt đáng kể về tốc độ sửa chữa.

Trả lời

5

Có thể là một trong những cách tiếp cận: (. Mà, vì có bao nhiêu ứng dụng sử dụng dữ liệu vị trí, nói chung nên được 'đóng đủ' nếu không chết chính xác)

  • Sử dụng LocationManager.getLastKnownLocation
  • Sử dụng LocationManager.NETWORK_PROVIDER thay vì LocationManager.GPS_PROVIDER để khắc phục ngay lập tức, sau đó tinh chỉnh bằng GPS (nếu có).
  • Chạy một dịch vụ trong nền mà theo định kỳ được vị trí mới nhất và lưu trữ nó (về cơ bản giống như LocationManager.getLastKnownLocation, nhưng làm điều đó cho mình)
3

Dưới đây là chiến lược của tôi: kiểm tra this StackOverflow câu trả lời.