У меня есть кнопка («проверить»), которая запускает обратный отсчет, когда он достигает нуля, телефон вибрирует. Повторное нажатие «проверить» отключает вибрацию, и процесс начинается сначала. Нажатие «оповещение» в любое время отправляет SMS на заранее указанный номер. Пока это мой код, и пока он работает нормально. Но хотелось бы подключить эти функции, чтобы после начала вибрации у пользователя было десять секунд, чтобы тапнуть "проверить" и перезапустить таймер, иначе запустится функция "оповещения", отправка смс. Как бы я это сделал? Нужно ли мне делать еще один таймер обратного отсчета?
Код кнопки "проверить" на данный момент:
check.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
vibe.cancel();
if (countDownTimer != null)
countDownTimer.cancel();
countDownTimer = new CountDownTimer(timerTime * 1000, 1000) {
@Override
public void onTick(long milliseconds) {
long minutes = milliseconds / 60000;
long seconds = (milliseconds / 1000) % 60;
minsLeft.setText(getString(R.string.minutes) + (int) (minutes) + " seconds:" + (int) (seconds));
}
@Override
public void onFinish() {
minsLeft.setText("Are You OK?");
long[] pattern = {100, 1000, 100, 2};
vibe.vibrate(pattern, 1);
}
}.start();
}
});
}
Код кнопки "предупреждение" (это будет вызвано, если "проверить" не будет нажата снова):
public void onAlertClick(View view) {
Toast sent = Toast.makeText(getApplicationContext(), "Alert Sent", Toast.LENGTH_SHORT);
Toast permissions = Toast.makeText(getApplicationContext(), "Please change app permissions in settings", Toast.LENGTH_SHORT);
try {
SmsManager.getDefault().sendTextMessage(getString(R.string.smsNumber), null,
getString(R.string.smsMessage), null, null);
sent.show();
} catch (Exception e) {
permissions.show();
}
}