我试图在达到10秒时停止我的Android计时器,但似乎无法正常工作。
我的代码如下,任何人都可以向我指出正确的方向。
谢谢。
if(chronorun == false){
chronometer.setBase(SystemClock.elapsedRealtime());
chronometer.start();
chronorun = true;
Vibrator vib = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
vib.vibrate(100);
elapsedTime = SystemClock.elapsedRealtime();
if(elapsedTime == 10)
{chronometer.stop();}
}
最佳答案
您可以创建一个Runnable
来停止Chronometer
,并使用postDelayed()
方法使其在10秒内运行:
Runnable stopClock = new Runnable()
{
@Override
public void run()
{
chronometer.stop();
Vibrator vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vib.vibrate(100);
}
};
chronometer.setBase(SystemClock.elapsedRealtime());
chronometer.start();
chronometer.postDelayed(stopClock, 1000 * 10);
注意:
postDelayed()
中的第二个参数是以毫秒为单位的延迟。