0

「vibrator.vibrate(2000);」を使用しています。バイブレーション用で振動しますが、その強さはとてもソフトです。電話や通知を受信すると正しく振動するため、私の電話はより強く振動できることがわかっています。関数 vibrate() がなぜそんなに週なのか? ありがとう

Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(4000); 

ただし、テキストまたは通知を受信すると、電話は非常に強く振動します

4

4 に答える 4

2

これ以上振動強度を上げることはできません。したがって、より良い感じを得るため public void vibrate(long[] pattern, int repeat) に、代わりに使用できますvibrator.vibrate(2000);

ここにパターンがあります(APIリファレンスから)

バイブレーターをオンまたはオフにする期間をミリ秒単位で表す int の配列を渡します。最初の値は、バイブレーターをオンにする前に待機するミリ秒数を示します。次の値は、バイブレーターをオフにする前にオンにしておくミリ秒数を示します。後続の値は、バイブレータをオフにするかバイブレータをオンにするかをミリ秒単位で交互に切り替えます。

さまざまなパターンを試して、より良い感触を得ることができます。例えば

final long[] pattern = { 0, 200, 500, 500, 200 };
vibrator.vibrate(pattern , 0);

独自のパターンを作成してチェックできます。

于 2012-12-10T02:46:48.370 に答える
2

ほとんどの電話では、振動はシャフトにオフセットウェイトを持つ小型の振動モーターによって (非常に大雑把に) 引き起こされます。モーターが作動し、シャフトが回転すると、オフセット重量がモーターと、モーターが取り付けられているものすべてを振動させます。モーターに電力が供給される期間以外の制御はありません。

代表的な小型振動モーター

これは、着信または通知が、API 関数を介して取得する振動よりも強い振動を生成する理由を説明していないように思えますが. それで、おそらく私はこれを答えではなくコメントにするべきでしたか?(しかし、コメントで写真を取得する方法がわかりませんでした)

于 2012-12-10T11:20:48.173 に答える
0

バイブレーターを使用したことがないので、これは経験に基づいた推測ですが、関数に渡す値を増やしてみてください。

于 2012-12-10T00:10:50.860 に答える