답변해주신 덕분에 핸들러를 이용하여 메시지를 보내는 것은 성공했습니다.
그런데 버튼을 누르니 계속 핸들러가 추가되어 제가 원했던 시간이 아닌 누를때마다 메세지 보내는 속도가 빨라져 처음 핸들러를 종료 시킨후 다시 실행하려고 아래의 코드처럼 만들었는데 if문이 동작하지 않습니다.
어떻게 수정해야 if문이 동작하나요?
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case START_POOLING:
sendEmptyMessage(DO_POOLING);
break;
case DO_POOLING:
ConnectThread2 thread = new ConnectThread2();
thread.start();
sendEmptyMessageDelayed(DO_POOLING, POOLING_DELAY);
break;
case STOP_POOLING:
removeMessages(DO_POOLING);
break;
}
}
};
}
public void onButton3Clicked(View v){
try {
BtnOFF=true;
Btn1OFF=false;
if(BtnOFF==true) {
data = "500000FF03FF00001C000A14010000Y*00001000010001";
mHandler.sendEmptyMessage(START_POOLING);
}
else{
mHandler.sendEmptyMessage(STOP_POOLING);
}
}
catch (Exception ex){
ex.printStackTrace();
}
}
public void onButton4Clicked(View v){
try {
BtnOFF= false;
Btn1OFF=true;
if(Btn1OFF==true) {
data = "500000FF03FF00001C000A14010000Y*00001000010000";
mHandler.sendEmptyMessage(START_POOLING);
}
else{
mHandler.sendEmptyMessage(STOP_POOLING);
}
}
catch (Exception ex){
ex.printStackTrace();
}
}