バイブレータオブジェクトに奇妙な問題があります。Android:バイブレータの振動が止まらない
画面がオンになっていると(アプリ外でも)、期待どおりに機能します。 しかし、電源ボタンを一度押して画面を消すと、2秒後にバイブレータの振動が止まりません。それは無期限に振動し続けます。
この動作はMotorola Moto E3でのみ発生します。どのように私がこれを回避することができるか考えていますか?
バイブレータオブジェクトに奇妙な問題があります。Android:バイブレータの振動が止まらない
画面がオンになっていると(アプリ外でも)、期待どおりに機能します。 しかし、電源ボタンを一度押して画面を消すと、2秒後にバイブレータの振動が止まりません。それは無期限に振動し続けます。
この動作はMotorola Moto E3でのみ発生します。どのように私がこれを回避することができるか考えていますか?
私はすべてを試しましたが、何も成功しませんでした。しかし、私は最終的にパターンを使用してMotorola Moto E3のこのバグを回避する方法を見つけました:
Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(new long[]{0, 2 * DateUtils.SECOND_IN_MILLIS}, -1);
私はこれが役立つことを望みます。
私の経験によれば、Vibrator
はさまざまなデバイスで異なって動作します。あなたの活動のonStop()
の振動はcancel()
にあることをお勧めします。
Royが提案したものが動作しない場合。 AlarmManagerを作成して2秒後にそれを設定し、その中にvibrator.cancel()を呼び出してください。
「AsyncTask」などの別のスレッドで呼び出そうとしましたか? –
アプリをバックグラウンドで振動させるべきですか?そうでなければ、onPauseとonDestroyのVibratorクラスのcancel()メソッドを試すことができます –
@ ale.mはい、私は通知として使用しているので、バックグラウンドで私のアプリと一緒に振動するはずです。別のスレッドで呼び出すようにしてみます。待ってみましょう。 – Denis