問題タブ [devicemotion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android デバイスで Angular Ionic を使用すると、加速度計イベントの頻度が最初の 5 分間遅くなります
私は使っている
Ionic と Angular を使用して Android デバイスの加速度計データにアクセスします。アプリ内ではイベントは 60 Hz の周波数で動作しますが、アプリがバックグラウンドに切り替わると、最初の 5 分間は周波数が 9 ~ 10 Hz 程度に低下し、バックグラウンドにあるある時点で 60 Hz に戻ります。そしていつまでもそのまま。
バックグラウンドプラグインも使用しています
config.xml の対応する条件を使用して、バックグラウンド プラグインに disableBatteryOptimizations() を追加しようとしましたが、まだ運がありません。
Device Motion と Gyroscope のプラグインも試しましたが、同じように動作します。
周波数が遅くなるのを防ぐにはどうすればよいですか? 他の誰かが以前にこの問題に遭遇したことがありますか?
javascript - iOS の Devicemotion イベント
Web ページで Android と iOS プラットフォームの両方にモバイル デバイスの「シェイク」イベントを実装したいと考えています。
それで、アレックス・ギブソンが書いた唯一無二のスクリプトをすぐに見つけました。
いくつかのテストの後、Android フォンで完全に動作することがわかりました。iPhoneでは残念ながら使えません。
MDN web docsによると、devicemotion
イベントを使用するスクリプトに問題はありません。
コードオープンのこのスクリプトは、iOS ではエラーがなく、機能していません。
この問題を克服する方法はありますか?
UPD
イベントの iOS 13 の要件を説明しているこの記事を見つけdevicemotion
たので、許可をリクエストする必要があります。
しかし、それも機能しません。
とにかく、許可要求なしで「拒否」ステータスを返します。
swift - アプリがバックグラウンドで DeviceMotion の更新を受信しない (WatchOS 6)
DeviceMotion を介して加速度計、ジャイロスコープ データ、HKWorkout を介して心拍数を取得する Apple Watch 用のアプリケーションを開発しています。
アプリケーションがフォアグラウンドに留まるまで、すべてがうまく機能します。ただし、非アクティブ状態になると(ユーザーが手首を下げると)、しばらくは機能しますが、ある時点で停止します。さらに、アプリがバックグラウンドになると、新しい DeviceMotion の更新を収集するためにアプリが停止しますが、緑の LED が点灯したままなので、心拍数のオブザーバーは引き続き機能していると思います。
DeviceMotion に使用するコードは次のとおりです。
心拍数に使用するコード:
Apple ドキュメントの状態 ( https://developer.apple.com/documentation/healthkit/workouts_and_activity_rings )から
ワークアウト セッションがアクティブな間、アプリはバックグラウンドで実行し続けることができます。これにより、アプリはユーザーを監視し、アクティビティ全体でデータを収集できます。さらに、ユーザーが時計を確認するたびにアプリが表示されるようにします。
これらの場合、アプリの動作を管理する必要はないと考えていました。しかし、何かをしなければならないようです。バックグラウンド状態 (および非アクティブ状態) で新しい DeviceMotion データを収集する最良の方法は何ですか?