咱们的项目须要作一个语音识别过程当中,若是两分钟没人说话,机器人就直接进入休眠状态。在这个功能里使用到了倒计时两分钟的功能,而后呢,并无用timer,timetask ,handle+massage 的方式。用的CountDownTimer类,这个类里封装就是handle处理的。这个类就特别简单,方便了。ide
附上此方法代码:meta
private void countTime(final String result) { /** 倒计时120秒,一次1秒 */ new CountDownTimer(120*1000, 1000) { @Override public void onTick(long millisUntilFinished) {//此if语句为间隔回调方法,你们能够换成本身须要的逻辑就行了。 if (!result.equals("")|| "" != result){ cancel(); } // TODO Auto-generated method stub } @Override public void onFinish() {//此if语句为让机器人进入休眠的逻辑代码,你们能够写本身的逻辑在里面,这个方法是指倒计时完成后的方法。 if (result.equals("")|| "" == result){ helper.onSleep(); isSleeped = true; mSynthesizer("我走了,有问题再叫我"); } } }.start();}