제가 어플 개발중에 데시벨이 70 이상일시 카운트 다운 함수를 이용해서 10초동안 카운트다운 들어가는데요 10초동안 데시벨이 70이상일시 소리가 나게 소스를 구현했는데 중요한건 데시벨이 70이상일시 카운트다운 함수가 무한적으로 실행되네요. 한번만 실행할수 있는 방법이 있을까요?
정리
1. 데시벨이 70이상일시 카운트 다운 함수 실행 ( 여기서 카운트 다운 여러개가 실행되버립니다..ㅠㅠ)
public void SmartAlarm(final double amplitudeDb) throws Exception {
final TextView timeView = (TextView) findViewById(R.id.textView2);
final TextView timeView2 = (TextView) findViewById(R.id.textView3);
CountDownTimer mCountDownTimer = null;
final int[] beep = {1};
final int totaltime = 10000;
if (amplitudeDb > 70) {
mCountDownTimer = new CountDownTimer(totaltime, 1000) {
@Override
public void onTick(long millisUntilFinished) {
timeView.setText("" + millisUntilFinished);
if (amplitudeDb > 70) {
beep[0]++;
}
timeView2.setText("DB수치" + beep[0]);
}
@Override
public void onFinish() {
timeView.setText("완료");
}
};
mCountDownTimer.start();
{
}
}