2011-07-20 8 views
7

[Chỉnh sửa: Đã xóa tất cả đề cập đến phiên bản Android - sự cố có trên mọi phiên bản android]Android Giải pháp cho cảm biến không hoạt động khi màn hình tắt

Nền: Khi màn hình tắt, nhiều điện thoại Android làm không cung cấp các bản cập nhật cho các ứng dụng của các bài đọc Accelerometer bằng cách gọi onSensorChanged() khi màn hình tắt. Hành vi này được thảo luận trên S.O. và được ghi thêm ở đây http://code.google.com/p/android/issues/detail?id=3708

Giá trị gia tốc trên một số điện thoại (Nexus S, Droid X2, ...) chỉ được cung cấp khi có thay đổi đáng kể về giá trị. Ngồi yên trên bàn, ví dụ: có thể có một hoặc không cập nhật mỗi phút

Để tạo mã mạnh mẽ trên các kiểu điện thoại, làm cách nào để phân biệt giữa thiếu sự kiện cập nhật trên mỗi màn hình, so với thiếu thông tin cập nhật cho mỗi người không di chuyển? Tôi có nên duy trì một cơ sở dữ liệu các kiểu điện thoại không?

+0

Một ứng dụng tốt thực sự unregister gia tốc khi hoạt động đi vào nền. – Wroclai

+1

Cảm ơn bạn đã bình luận. Một ví dụ về một nhu cầu hợp pháp cho câu trả lời cho câu hỏi này có thể là một ứng dụng pedometer đăng ký người nghe trong một dịch vụ. – luser845

+0

Kinh nghiệm của tôi đã được rằng một khóa thức tỉnh một phần giữ cho CPU hoạt động ngay cả khi màn hình tắt. Nếu không có thay đổi đáng kể trong các bài đọc gia tốc, tại sao bạn quan tâm đến bản cập nhật? Tôi nghi ngờ điều này mặc dù, hầu hết các gói cảm biến cho ra rất nhiều tiếng ồn mà họ không bao giờ đọc số không. – Idistic

Trả lời

0

Điều này sẽ khó phát hiện. API của Android cung cấp cách kiểm soát Khóa thức. Nhưng các nhà sản xuất đã thực hiện một công việc TERRIBLE thực hiện điều này vào hệ điều hành bên cạnh họ. Chỉ cần TERRIBLE. Bạn sẽ cần phải lấy một PARTIAL_WAKE_LOCK để giữ cho CPU điện thoại chạy khi màn hình tắt.

Tuy nhiên không phải tất cả các thiết bị đều sử dụng thiết bị này và sẽ không phản hồi - một nửa phản hồi một nửa - và một số phản hồi tuyệt vời.

Sau khi đọc các nhận xét ở trên, tôi có thể cho bạn biết phần lớn các thiết bị có 2.3+ tôi đã sử dụng vẫn không thực hiện khóa chế độ thức một phần.

Cá nhân tôi sẽ không dựa vào điều gì đó mà nhà sản xuất kiểm soát vì thị trường SO bị phân mảnh. Tôi sẽ cố gắng tìm cách để có được chức năng mà tôi đang tìm kiếm với một giải pháp khác.

Hy vọng điều này sẽ hữu ích.

0

Tôi đã tìm kiếm giải pháp cho vấn đề này trong hai ngày nay. Nhưng vẫn không tìm thấy bất cứ điều gì hữu ích.

Tại bài đăng này here, bởi Bruno Albuquerque có điều gì đó có thể giúp với điện thoại motorola nhưng nó không phải là chung chung.

Tôi tin rằng @jjNford là đúng về các nhà sản xuất có một ngón tay trên đó, bạn có thể gửi bất kỳ thông tin về điều đó?

Here là một báo cáo lỗi về điều đó ngày từ năm 2009