Мне нужно мое приложение, чтобы вызвать предупреждение определенное количество времени после нажатия пользователем кнопки. В документации это похоже на то, что Handler - это то, что мне нужно, и использование кажется мертвым мозгом.Почему обработчик не запускает предупреждение, как ожидалось?
Однако, я нахожу, что, несмотря на использование postDelayed, моя программа работает немедленно. Я знаю, что мне не хватает чего-то очевидного, но я просто не вижу его. Почему приведенный ниже код заставляет телефон вибрировать сразу, а не ждать минуту?
...
final Button button = (Button) findViewById(R.id.btnRun);
final Handler handler = new Handler();
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
...
handler.postDelayed(Vibrate(), 60000);
}
});
...
private Runnable Vibrate() {
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(300);
return null;
}
Я не люблю downvoting ... хотя, лучше исправить свой ответ. В этом случае, виброзвонок() действует как метод, а не как класс. – Cristian
Сортировка, спасибо за хед-ап. – fredley