public void sendSms(View v) {
Thread thread=new Thread(){
public void run(){
while(power){
if(reach<=3){
try {
Thread.sleep(30000); //30초 딜레이
} catch (InterruptedException e) {
}
}
else{
/*
sm.sendTextMessage(
editTextPhoneNumber.getText().toString(),
null,
"테스트",
null,
null);
*/
Log.d("sendSms","running");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
}
}
handler.sendEmptyMessage(0);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
}
};
thread.setDaemon(true);
thread.start();
}
//위에서 발생한 sendMessage 는 여기서 받게 된다.
public Handler handler=new Handler(){
public void handleMessage(Message msg){
power = false;
Toast.makeText(FbActivity.this, "알림OFF", Toast.LENGTH_SHORT).show();
}
};
현재 소스에서는 자동으로 핸들러가 작동되어 1회만 반복한 뒤 바로 power값이 false가 돼버립니다.
저는 저 while문이 계속 반복되다가
버튼이 다시 눌렸을 때만 핸들러가 작동하여 while문을 벗어나게 만들고 싶습니다.
소스를 어떻게 고치면 좋을까요?