안녕하세요.
네트워크 접속 프로그램을 만들고 있고, 접속에 대한 예외처리를 구현하고 있습니다.
네트워크 접속 시도 하는 동안에 일정시간이 지나면 접속을 포기하고 사용자에게 메시지를 보여주려고 하는데요,
이 일정시간이란 부분을 Handler를 이용해서 구현코자 합니다.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
timeout_count++;
if(timeout_count < 10) {
Log.e("msg", "timeout count: " + timeout_count);
mHandler.sendEmptyMessageDelayed(0, 1000);
}
}
};
mHandler.sendEmptyMessag(0);
/* try to connect Network*/
LiveView live = new LiveView(getApplicationContext());
setContentView(live);
}
LiveView에서는 네트워크 접속 시도를 하는 코드가 구현되어있습니다. 저는 핸들러에서 매초마다 일정 횟수동안 LiveView 클래스의 변수를 체크해서 접속여부를 확인하려고 하는데 네트워크 오류로 인해 접속이 지연되는 경우 핸들러가 동작하지 않습니다.
thread의 우선순위와 관련된 문제인가요?? 이런 경우 적절하게 타임아웃을 줄 수 있는 방법은 무엇이 있을까요?