6

Tôi đang tìm cách kiểm tra xem thiết bị có hỗ trợ DeviceOrientationEvent hoặc DeviceMotionEvent không. Để chính xác hơn, tôi không biết liệu thiết bị có thực sự gia tốc hay không.Phát hiện hỗ trợ chuyển động/định hướng thiết bị?

Thật không may window.DeviceMotionEventwindow.ondevicemotion tương ứng window.DeviceOrientationEventwindow.ondeviceorientation tồn tại mặc dù thiết bị - MacBook Retina - không có gia tốc kế.

Rõ ràng với tôi, rằng nếu Sự kiện không bao giờ bị sa thải, hàm gọi lại của một trình xử lý sự kiện cũng sẽ không bao giờ chạy. Nhưng trong trường hợp của tôi, chương trình của tôi cần biết liệu thiết bị có gia tốc kế hay không, bởi vì người dùng sẽ nhận được thông báo nếu không có gia tốc kế.

Rất tiếc, bài đăng này không giải quyết được sự cố của tôi.

+0

Tôi không biết sự kiện 'ondevicemotion' chính xác như thế nào, nhưng có thể chấp nhận để lắng nghe sự kiện hay không, và nếu không có sự kiện nào được nhận trong vòng 5 giây, thì thiết bị sẽ nghỉ ngơi bảng, được tổ chức bởi một người nào đó với một cái kẹp sắt, hoặc không có một gia tốc? –

+0

Bạn nói đúng. Đây là một cách có thể, tôi cũng nghĩ đến. Giải pháp này có vấn đề, rằng tôi phải đợi một chút thời gian (chỉ một chút, bởi vì 'devicemotion' cháy rất thường xuyên) cho câu trả lời của tờ séc này. Trong trường hợp của tôi, tôi thực sự cần phải biết ngay từ đầu nếu thiết bị có gia tốc kế, bởi vì người dùng được chuyển tiếp đến trang khác nếu thiết bị không có gia tốc ... –

Trả lời

2

Với chương trình của bạn cần phải có một chức năng gia tốc hoạt động, tôi giả sử bạn đang chặn thực hiện của nó nếu có ai sánh kịp.

Vì vậy, chương trình của bạn có thể 'chặn' theo mặc định và lắng nghe một thiết bị duy nhấtMotionEvent sẽ khởi chạy toàn bộ chương trình của bạn, cuối cùng sẽ ràng buộc vào window.ondevicemotion. Bằng cách đó bạn không cần phải chặn thực thi với một setTimeout; một deviceMotionEvent có thể sẽ được kích hoạt khá nhanh sau khi tải cửa sổ.

+0

Điểm rất tốt @Prusprus. Tôi nghĩ đây là giải pháp tốt nhất cho vấn đề đó ... –

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