問題タブ [android-vibration]
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.
java - Androidで振動クラスを作成して呼び出すにはどうすればよいですか?
こんにちは、Android アクティビティ全体でバイブレーション クラスを呼び出したいと思います。誰かが私を正しい方向に向けることができますか? これはこれまでの私のバイブクラスです:
そして、私の活動の 1 つからこの男に次のように電話をかけたいと思います。
ご助力いただきありがとうございます!
android - Android: Xbox 360 コントローラーを振動させることはできますか?
このメソッドを単純な Android プログラムに追加して、接続されている Xbox 360 コントローラーが振動にアクセスできるかどうかを確認しました。
Xbox コントローラーは、バイブレーションについては false と言いました...他の方法で振動させる方法はありますか?
サポートしているコントローラーはありますか?
java - 振動が止まらない
私は振動のためにこのコードを使用しているAndroidゲームを開発しています
しかし、それは絶え間なく振動しています。100ミリ秒後にこの振動を止めたいのですが、止まりません。私は何をすべきか?
android - 通知の振動を無効にする
私は通知を使ってアプリを書いています。Google 開発者ガイドラインでは、開発者が通知をカスタマイズするための設定 (バイブレーションを無効にする、通知音を設定するなど) を提供することを推奨しているため、ユーザーがそのように設定した場合、通知のバイブレーションを無効にしようとしています。
NotificationCompat.Builder
次のように、通知を作成するために使用しています。
通知を無効にするさまざまな方法を試しました:
また、通知を作成して、結果のオブジェクトの値を変更しようとしました。
ただし、通知が表示されると、電話はまだ振動します。
通知のバイブレーションを無効にするにはどうすればよいですか?
java - サービスまたは受信機から無期限にバイブレーターをオンにしておく方法
次の方法で、特定のイベントをユーザーに警告する必要があります。
- 振動
- 通知
ユーザーが通知を確認するまで、バイブレーションは無期限にオンのままにする必要があります。
問題は、デバイスがスリープ状態になると振動が停止することです。次の質問を読みました:
画面がオフになったときに携帯電話が振動することを許可
する Android で画面がスリープ モードになった後も振動を続ける
上記の質問の1つに対して、パターンなしで振動させるとうまくいくという答えがありました. Vibrator.vibrate
そのため、多数のパターンの代わりにミリ秒を受け入れるバージョンを呼び出してみましたが、とにかく振動が止まります。
ACTION_SCREEN_OFF
他の回答は、アクションにレシーバーを登録することを提案しています。これにより、アラームが開始された後にデバイスがスリープ状態になった場合に振動を再開できますが、デバイスが既にスリープ状態になっている場合は機能しません。
ただし、最初に画面をオンにしてから、レシーバーを登録して、そこから発生する可能性のある画面オフイベントに対処できれば、機能させることができます。そのため、トリガーイベントが受信されたときにサウンドまたはバイブレーションを開始する前に完全なウェイクロックを取得しようとしましたが、フラグ FULL_WAKE_LOCK および ACQUIRE_CAUSES_WAKEUP を使用しているにもかかわらず機能しません。ウェイクアップ部分は機能しますが、その後すぐにデバイスは再びスリープ状態になります。FULL_WAKE_LOCKフラグは API 17 で廃止されたため機能しないと思いますが、私のデバイスは API 16 である 4.1.2 を実行している Samsung です!
推奨されるアプローチは現在 WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ONを使用しているようですが、これはアクティビティから呼び出す必要があり、ユーザーが通知をクリックしない限り画面が表示されません。これが発生した場合、音と振動は既に発生しているはずです止められました。
そのため行き止まりのように見えます。
他に何を試すことができますか?
更新:
ウェイク ロックを使用して画面を常にオンにしておくことはできませんでしたが、一方で、数秒間だけでも画面をオンにすることができます。実際には画面をオンにしておく必要はないので、受信機をIntent.ACTION_SCREEN_OFF
アクションに登録しており、画面が消えると受信機は再び振動を再開します。これは Samsung ではうまくいきましたが、テストを続けるために Huawei に切り替えましたが、受信機は機能しません。
更新:
Huawei デバイスでの例外のスタック トレースは次のとおりです。
android - 振動が止まる理由がわからない
特定のイベントが発生したときにアクティビティを開始するサービスがあります。このアクティビティは、バイブレーターを開始します。主な活動中はすべて正常に動作しますが、デバイスがロックされている場合、振動は 1 回だけで、その後停止します。ここに私のコードサービスコードのサンプルがあります
私の Alarm クラスのロジックは次のとおりです... OnCreate を使用して振動を開始します
OnDestory は、vib.cancel(); を使用して vib を停止します。vib.cancel() が呼び出される他の唯一の場所は、v が 10 未満かどうかをチェックするハンドラー内ですが、v を 10 未満にしていないため、これが理由になることはありません。ボタンを押しても呼び出されます。
私が見た領域-これは画面がオフのときにのみ発生するため、ウェイクロックのリリースを行うonCreateと関係があるのでしょうか?
または、基本的に同じことを呼び出しますが、電源サービスを使用して画面をオンにする私の履歴書。
私の質問は、画面がオフのときに AlarmClass が起動されたときにバイブレーターが 1 回だけ振動するのに、画面がオンのときに完全に正常に動作するのはなぜですか? 入力やヘルプに感謝します。
編集:ランナブルは Alarm クラスの onCreate で実行されます。以下は onResume クラスで実行されます。