Помимо приведенных выше решений, я создал свой собственный шаблон вибрации, где я могу контролировать размер продолжительности между вибрациями.startVibration () создает непрерывный регулярный шаблон вибрации в течение одной минуты.
stopVibration () - прекращает вибрацию или приостанавливает counterTimer, таким образом приостанавливая шаблон вибрации.
private time = 0;
private countDownTimer;
private void startVibration() {
time = (int) System.currentTimeMillis();
countDownTimer = new CountDownTimer(60000, 1000) {
public void onTick(long millisUntilFinished) {
time = (int) (millisUntilFinished / 1000);
int[] timeLapse = {58, 55, 52, 49, 46, 43, 40, 37, 34, 31, 28, 25, 22, 19, 16, 13, 10, 7, 4, 1};
for (int k = 0; k < timeLapse.length; k++) {
if (time == timeLapse[k]) {
((Vibrator) getSystemService(VIBRATOR_SERVICE)).vibrate(1000);
}
}
}
public void onFinish() {
}
}.start();
}
private void stopVibration() {
if (countDownTimer != null) {
countDownTimer.cancel();
}
}