2017-03-14 7 views
0

バイブレータオブジェクトに奇妙な問題があります。Android:バイブレータの振動が止まらない

画面がオンになっていると(アプリ外でも)、期待どおりに機能します。 しかし、電源ボタンを一度押して画面を消すと、2秒後にバイブレータの振動が止まりません。それは無期限に振動し続けます。

この動作はMotorola Moto E3でのみ発生します。どのように私がこれを回避することができるか考えていますか?

+2

「AsyncTask」などの別のスレッドで呼び出そうとしましたか? –

+0

アプリをバックグラウンドで振動させるべきですか?そうでなければ、onPauseとonDestroyのVibratorクラスのcancel()メソッドを試すことができます –

+0

@ ale.mはい、私は通知として使用しているので、バックグラウンドで私のアプリと一緒に振動するはずです。別のスレッドで呼び出すようにしてみます。待ってみましょう。 – Denis

答えて

0

私はすべてを試しましたが、何も成功しませんでした。しかし、私は最終的にパターンを使用してMotorola Moto E3のこのバグを回避する方法を見つけました:

Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); 
vibrator.vibrate(new long[]{0, 2 * DateUtils.SECOND_IN_MILLIS}, -1); 

私はこれが役立つことを望みます。

1

私の経験によれば、Vibratorはさまざまなデバイスで異なって動作します。あなたの活動のonStop()の振動はcancel()にあることをお勧めします。

1

Royが提案したものが動作しない場合。 AlarmManagerを作成して2秒後にそれを設定し、その中にvibrator.cancel()を呼び出してください。

関連する問題