デバイスを 2 秒ごとに 16 回振動させようとしています。Thread.sleep() を使用して、メソッド呼び出しの間にスレッドをスリープさせようとしました。vibrate メソッドでは、パターン 1 とパターン 2 を呼び出す必要があり、それらは既にその一部としてスリープを持っていますが、機能しません。
public void vibratorDAYONE()
{
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
if(!v.hasVibrator())
{
Toast.makeText(daybuzzer.this,
"You need to have a vibrator on your phone for this app to work.", Toast.LENGTH_LONG).show();
}
long[] startpattern = {1000, 500, 3000};
long[] pattern1 = {0, 1000, 1000};//sleep one minute
long[] pattern2 = {0, 2000, 3000}; //sleep 1.5
v.vibrate(pattern1, -1); //1 min, 1.5 min, x8
SystemClock.sleep(2000);
v.vibrate(pattern2, -1);
SystemClock.sleep(2000);
v.vibrate(pattern1, -1);
SystemClock.sleep(2000);
v.vibrate(pattern2, -1);
SystemClock.sleep(2000);
v.vibrate(pattern1, -1);
SystemClock.sleep(2000);
v.vibrate(pattern2, -1);
SystemClock.sleep(2000);
v.vibrate(pattern1, -1);
SystemClock.sleep(2000);
v.vibrate(pattern2, -1);
SystemClock.sleep(2000);
v.vibrate(pattern1, -1);
SystemClock.sleep(2000);
v.vibrate(pattern2, -1);
SystemClock.sleep(2000);
v.vibrate(pattern1, -1);
SystemClock.sleep(2000);
v.vibrate(pattern2, -1);
SystemClock.sleep(2000);
v.vibrate(pattern1, -1);
SystemClock.sleep(2000);
v.vibrate(pattern2, -1);
SystemClock.sleep(2000);
v.vibrate(pattern1, -1);
SystemClock.sleep(2000);
v.vibrate(pattern2, -1);
SystemClock.sleep(2000);
}