我需要我的应用在用户按下按钮后的指定时间内触发警报。该文档使它看起来像 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;
}