can anyone tell me how to vibrate same patter 5 times like this my pattern
long[] pattern = { 0, 200, 500 };
i want this pattern to repeat 5 times
Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(pattern , 5);
I found the solution, it was very simple:
long[] pattern = { 0, 100, 500, 100, 500, 100, 500, 100, 500, 100, 500};
vibrator.vibrate(pattern , -1);
From: Android Vibrator#vibrate(long[], int)
To cause the pattern to repeat, pass the index into the pattern array at which to start the repeat, or -1 to disable repeating.
You have to init index 0
long[] pattern = { 0, 100, 500, 100, 500, 100, 500, 100, 500, 100, 500};
vibrator.vibrate(pattern , 0);
the following works for me:
if(vibration_enabled) {
final Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
if(v.hasVibrator()) {
final long[] pattern = {0, 1000, 1000, 1000, 1000};
new Thread(){
@Override
public void run() {
for(int i = 0; i < 5; i++){ //repeat the pattern 5 times
v.vibrate(pattern, -1);
try {
Thread.sleep(4000); //the time, the complete pattern needs
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
}
}
The vibrate method only starts the vibration, but doesn't wait until its executed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With