Tôi đang phát triển một ứng dụng cho Android Wear. Nó lắng nghe tọa độ từ một cảm biến gia tốc và tìm thấy một mô hình.Cảm biến gia tốc gây ra tổn thất khi chạy vào dịch vụ
Để thực hiện việc này, khi người dùng nhấp vào nút, dịch vụ sẽ bắt đầu và bắt đầu lưu trữ tọa độ trong Danh sách. Thông thường, cảm biến gia tốc ghi lại 4 đến 5 tọa độ mỗi giây.
Vấn đề đôi khi phương thức onSensorChanged() không nhận dữ liệu trong vài giây làm mất dữ liệu và khó tìm mẫu.
Dưới đây là một ý chính của dịch vụ của tôi: https://gist.github.com/cpalosrejano/8f0e59e47124275136fc3d5d941faa07
Những điều tôi đã cố gắng:
- Tôi đang sử dụng android: stopWithTask = false để ngăn chặn các dịch vụ để dừng lại khi hoạt động chết.
- Tôi cũng đã sử dụng WakeLock để ngăn thiết bị chuyển sang chế độ ngủ trong khi các dịch vụ đang ghi tọa độ.
Tôi đang làm gì sai? Có cách nào khác để nhận cuộc gọi lại từ cảm biến gia tốc mà không gây mất dữ liệu không?
Xin cảm ơn trước.
Bạn đã thử sử dụng hằng số 'SensorManager.SENSOR_DELAY_ *' khác? Bất kỳ ảnh hưởng nào đến vấn đề này? – String