안드로이드 개발 질문/답변
(글 수 45,052)
여기까지는 문제 없이 진행되는데..
문제는 preference의 checkboxpreference가 체크 상태롤 유지되어보인다는게 -_-;;
간단하게 내용을 설명해드리면, 프레퍼런스 액티비티에서 체크박스를 클릭하면, 체크값을 인식하여, 체크시 서비스 구동
언체크시 서비스 종료를 하는데요..
사람이 손으로 언체크 하지 않아도 일정시간 이후 자동으로 서비스가 종료 되게끔 프로그램을 해놓은 상태인데..
문제는 자동으로 서비스가 종료되고나면, 체크박스값이 언체크로 바뀌어야 하는데 이걸 손을 델수가 없네요.. ㅜ_ㅜ
체크박스가 언체크로 바뀌지 않지만 특별히 오류가 나는건 아닌데... 사용자에게 혼란을 줄수가 있는 부분이라서 꼭 수정을 하고 싶습니다.
아래는 서비스에서 카운트다운타이머 부분 소스이구요.
timer = new CountDownTimer(10 * 1000, 1000) {
public void onTick(long millisUntilFinished) {
Log.d("MY_TAG", "value" + millisUntilFinished);
}
public void onFinish() {
Log.d("MY_TAG", "onFinish");
Intent stop = new Intent(Service01.this, Service01.class);
stopService(stop);
}
};
timer.start();
아래는 프리퍼런스 에서 체크값을 인식하는 소스입니다
maincheck = (CheckBoxPreference) findPreference("MAINCHECK");
maincheck.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference arg0) {
if (maincheck.isChecked() == true) {
Intent service = new Intent(Main.this, Service01.class);
startService(service);
} else {
Intent stop = new Intent(Main.this, Service01.class);
stopService(stop);
}
return false;
}
});



