Đó là một vấn đề nổi tiếng mà nhiều điện thoại Android tắt máy gia tốc khi screen goes off. Tuy nhiên một cái gì đó dường như đã thay đổi với Android Fit (ứng dụng). Fit giữ các bước đếm ngay cả khi màn hình tắt. Nếu Fit được cài đặt, sau đó sự kiện được nêu ra cho bước đếm trong môi trường Fit và tôi có thể nắm bắt chúng bằng cách sửBộ đếm bước trong Android: luôn bật?
Fitness.SensorsApi.findDataSources(mClient, new DataSourcesRequest.Builder()
.setDataTypes(DataType.TYPE_STEP_COUNT_CUMULATIVE)
Tôi đã thử nghiệm này trên Samsung S4 và trên OnePlus One và trong cả hai trường hợp các bước được tính. Làm cách nào để thực hiện điều đó? Họ sử dụng lớp học Android nào? Sự hiểu biết của tôi là phương pháp sẵn có được giới thiệu kể từ Kitkat là triển khai SensorEventListener. Ví dụ, tính tự chủ cung cấp mã số implements this. Tuy nhiên trên nhiều điện thoại, bước đếm dừng lại khi màn hình tắt. Điều thú vị là việc đếm dường như không dừng lại nếu ứng dụng Google Fit được cài đặt (do đó tôi đoán là họ vẫn tiếp tục gia tốc kế).
Tôi có thiếu gì đó không? Chức năng giữ các bước đếm sau khi tắt màn hình có sẵn cho các lập trình viên không? Cảm ơn!
Cảm ơn @simekadam. Những gì bạn nói là chính xác. Tuy nhiên những gì tôi không hiểu là làm thế nào họ làm điều đó. Cách duy nhất tôi có thể thấy để giữ cho bước truy cập trên trên nhiều điện thoại là để có được một khóa đầy đủ, mà không thực sự là năng lượng hiệu quả. Các wakelocks một phần như WakefulBroadcastReceiver dường như bị bỏ qua bởi hầu hết gia tốc kế. Đây là lý do tại sao tôi tự hỏi làm thế nào họ làm điều đó một cách hiệu quả. – FabioC
@FabioCiravegna bạn có thể vui lòng đăng thêm mã cho câu hỏi của bạn không? Điều đó có thể giúp tôi giải quyết vấn đề của bạn ..Bạn đang bắt đầu công cụ bước chân của mình từ WakefulBroadcastReceiver?Bạn có bắt đầu dịch vụ ghi âm của mình với startWakefulService không? Bạn có thu được một wakelock riêng cho dịch vụ của bạn không? (WakeFullBroadcastReceiver phát hành wakelock của nó sau 60 giây) – simekadam
cảm ơn rất nhiều vì đã đề nghị giúp đỡ. Tôi đã tạo một ví dụ đơn giản về [link] (https://github.com/fabcira/step_counter_with_wakeLock) Github. Nó thậm chí còn đơn giản hơn cái tôi đề cập trước đây. Hoạt động chính đăng ký cảm biến và thiết lập một phần wakelock. Sau đó, tôi bắt đầu hoạt động. Step_counter hoạt động. Khi tôi tắt điện thoại, nó dừng lại. Tuy nhiên tôi đã tạo ra một dịch vụ kiểm tra xem wakeLock có bật không. Nó là. Nhưng bộ đếm bước tắt. Việc thiết lập cũng kiểm tra xem điện thoại có bộ đếm bước phần cứng hay không. Tôi có nó. Tôi bối rối. Bất kỳ trợ giúp đều được chào đón. Cảm ơn! – FabioC