Szukam sposobu sprawdzenia, czy urządzenie obsługuje DeviceOrientationEvent lub DeviceMotionEvent. Mówiąc dokładniej, nie wiem, czy urządzenie naprawdę ma akcelerometr.Wykrywanie obsługi ruchu/orientacji urządzenia?
Niestety window.DeviceMotionEvent
i window.ondevicemotion
odpowiednio window.DeviceOrientationEvent
i window.ondeviceorientation
istnieje chociaż urządzenie - MacBook Retina - nie posiada akcelerometr.
Jest dla mnie jasne, że jeśli Zdarzenie nigdy nie zostanie wyrzucone, funkcja wywołania zwrotnego z EventLogener również nigdy nie będzie działać. Ale w moim przypadku ja, mój program musi wiedzieć, czy urządzenie ma akcelerometr, ponieważ użytkownik powinien otrzymać powiadomienie, jeśli nie ma akcelerometru.
Odpowiedzi tego posta niestety nie zadziałały na mój problem.
Nie wiem, jak precyzyjne jest zdarzenie "ondevicemotion", ale byłoby dopuszczalne słuchanie zdarzenia, a jeśli żadne zdarzenie nie zostanie odebrane w ciągu, powiedzmy, 5 sekund, to urządzenie spoczywa na stół, trzymany przez kogoś z żelaznym uściskiem, lub nie ma akcelerometru? –
Masz rację. Jest to jeden z możliwych sposobów, o których też pomyślałem. To rozwiązanie ma problem, że muszę poczekać trochę czasu (tylko trochę, bo "devicemotion" strzela bardzo często) dla odpowiedzi tego czeku. W moim przypadku naprawdę muszę wiedzieć od początku, czy urządzenie ma akcelerometr, ponieważ użytkownik jest przekierowywany na inną stronę, jeśli urządzenie nie ma akcelerometru ... –