Android 기술 Q&A 
Q&A 게시판에 질문을 남기신 글에 대한 답변/덧글/쪽글에 대한 Push 메일 서비스를 받고자 하시는 분들은
☞ Push 메일 서비스 공지를 필독하시기 바랍니다.
Handler
작성자
작성일 2011-10-04 (화) 14:37
분 류 질문
ㆍ추천: 0  ㆍ조회: 4091      
IP: 210.xxx.89
서비스에서 메시지 받는 부분이 android.os.Handler.handleMessage() 에 구현되어 있습니다.
 
평소에는 이쪽으로 메시지가 잘 전달되는데, 메인 UI Thread에서 Thread.sleep() 을 하거나 lock.wait() 을 하면 메시지가 전달 안 됩니다. 그러다가 sleep이나 wait 이 깨어나면 그제서야 메시지가 옵니다.
반면 Modal dialog 을 만들어서 사용자 Input을 기다리게 만들면 정상적으로 메시지가 옵니다.
 
질문 : 평상시에는 아무것도 안하고 가만 있다가 서비스로부터 메시지가 오면 화면을 업데이트 하는 프로그램인데요. 메시지를 받으려면 위와 같은 이유로 억지로 팝업을 띄워야만 합니다. sleep이나 wait 과 같이 사용자를 귀찮게 하지 않고 메시지를 전달 받으려면 어떻게 해야 할까요?
이름아이콘 들풀
2011-10-04 18:15
질문을 두가지 차원에서 해석해야 할 듯 합니다.
1. 먼저, 안드로이드 애플리케이션 개발시 가장 주의해야 할 것은,
   UI Thread를 blocking해서는 안된다는 것입니다.
   왜 Thread.sleep를 사용했는지는 모르지만 이 부분은 코드를 재구성하는 게 좋을 듯 합니다.
2. 더불어 서비스에서 메시지를 받아서 화면(Activity의 화면)을 업데이트하고자 한다면,
  Acivity에서 해당 서비스에 bindService를 하신후, callback를 서비스에 등록하신후,
  서비스가 activty를 역으로 호출하는 구조가 가장 적당한 구조일 것입니다.
   
 
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
    N     분류     제목    글쓴이 작성일 조회
5003 질문 앱에 sl4a 를 내장하는 방법 문의 2018-04-23 1934
5002 질문 액션캠( SJ4000 ) 연동 질문 2018-01-25 2353
5001 질문 얼굴(눈) 인식 라이브러리 문의 드립니다. 2017-07-26 2856
5000 질문 후행섹션에서는 컨텐츠가 허용되지 않습니다라는 오류.. 2017-07-04 2870
4999 질문 Android 버전에 따라 onActivityResult을 호출하는 순서가 다.. 2017-09-15 3414
4998 질문 절판 된 안드로이드 개발서(안드로이드 미디어 프레임워크, 아.. 2017-06-10 3428
4997 질문 공유기 사용시 로컬 공인 IP 주소 얻는 방법 2017-07-07 3507
4996 gralloc 로그 출력 2014-10-16 3522
4995 질문 kernel 블루투스 SCO 질문드립니다 2017-03-29 3527
4994 질문 녹음기능중 녹음종료에 대한 문의... 2010-10-05 3594
4993 질문 비트맵 화면 하단 기준으로 그리기 2015-01-01 3661
4992 질문 객체 내 객체가 있을 때 상위객체(?) 인스턴스 내 변수를 하위.. 2015-02-25 3684
4991 질문 설명이힘드네요.. 안드로이드 질문있습니다 2014-09-14 3700
4990 질문 이미지뷰 확대 축소후에 선 그리기 2017-04-13 3700
4989 질문 터치 이벤트 자체를 받을수 있게할수있을까요?.. 2015-02-13 3741
4988 질문 JNI에 대한 질문입니다. 2014-07-15 3804
4987 질문 안드로이드 서비스 관련 질문입니다. 2015-01-05 3822
4986 안드로이드 플랫폼 빌드시 2015-01-13 3834
4985 질문 안드로이드 기본 설정에서 app을 지울때 2014-11-28 3920
4984 질문 컴파일시 컴파일 순서 2015-01-06 3920
4983 크래시문제 질문입니다 2014-08-13 3948
4982 효성 cdn 에 이미지 올려보신분 계세요... 2014-12-04 3952
4981 질문 어플관련 질문입니다. 꼭 답변 부탁드립니다. 2011-10-30 3954
4980 버튼이벤트가 먹지 않아요... 2014-07-29 3957
4979 질문 browser에 대해 질문이요..답변좀 부탁드립니다 2011-12-06 3993
4978 질문 안드로이드 빌드시 gapps 포함방법 2015-02-05 3993
4977 CTS Fail 수정 노하우좀 부탁 드립니다. 2014-05-15 3997
4976 질문 ScreenCast에 이벤트제어에 대해서 알고 싶습니다... 2011-10-23 4005
4975 쉘 스크립트 질문 하나 드리겠습니다. 2014-07-31 4007
4974 질문 Resource$NotfoundException 이 나는데요 2015-03-23 4012
4973 CTS fial 원인과 해결방안 2014-12-30 4043
4972 질문 List<Size> sizes = parameters.getSupportedPreviewSiz.. 2015-03-24 4049
4971 permission 관련 질문 2012-01-19 4053
4970 질문 안드로이드 호환성 테스트 도구 문의 2014-12-30 4054
4969 컨퍼런스 커리큘럼 질문 사항 2011-10-21 4068
4968 질문 액티비티를 finish 하는것 질문 2011-12-06 4079
4967 질문 ListView 를 분석하고 싶습니다. 2011-09-29 4088
4966 질문 홈스크린 digital clock 소스 구할 수 있는데 없을까요ㅠ_ㅠ.. 2011-12-01 4089
4965 질문 Email 네이티브 소스 문의사항 2012-02-29 4089
4964 질문 Framework의 JNI에서 Kernel 함수 call 하는 방법 질문입니다... 2014-07-17 4089
4963 질문 웹서버 좀비 connection 2012-02-08 4090
4962 질문 Handler 2011-10-04 4091
4961 질문 static 변수를 synchronize 하는 방법 질문입니다. 2014-12-30 4093
4960 독립적인 Widget 업데이트 2011-11-18 4094
4959 질문 view click event 질문 2011-12-13 4094
4958 질문 구글맵 질문 드립니다. 2014-07-02 4094
4957 질문 안드로이드 그래픽 메모리 2015-01-12 4094
4956 핸드폰 kernel이 있으면. 2011-09-07 4095
4955 eclipse와 android연동에 궁금한 것이 있습니다. 2011-10-08 4095
4954 질문 BR 질문입니다. Receiver 클래스와 연결이 안됩니다.(소스 ㅁ.. 2011-11-01 4095
12345678910,,,101