0

デバイスを 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);
}
4

1 に答える 1