안드로이드 개발 질문/답변
(글 수 45,052)
개념 공부 없이 주먹구구 식으로 안드로이드를 하고 있습니다..;;
BroadcastReceiver를 설정해 두면 설정된 이벤트가 발생 할떄마다 os단에서 해당 어플을 실행해서 처리할 작업을 하고 있는 걸로 알고 있습니다.
BroadcastReceiver의 이벤트는 전화가 온다거나 메세지가 온다거나 하는 os에서 정의된 행위에 대해서만 이벤트가 일어 난다고 알고 있는데요.
이것은 가령 별도의 특정 서버에서 보내는 값(socket통신등등)을 이 BroadcastReceiver에서 받아서 데이터를 주고받는 처리를 할수는 없을까요?
BroadcastReceiver를 발생할떄 os에서 정의된 action말고 사용자가 만든 다른것도 받을수 있는지 궁금 합니다..
이게 안된다면 서비스로 다 처리를 해야 될것 같은데.. 서버에서 언제 응답이 올지 모르는 상태에서 계속 돌면서 대기하고 있는식으로 해도 상관이 없을 지도 궁금 합니다.
그리고 한가지 더 궁금 한게 있는데요.. 어플이 백그라운드에 실행 된다라는 말이 os의 설정에 실행중인 프로그램 목록에 나타나 있는것을
말하는건가요?




1. 특정 서버에서 보내는 값을 체크하긴 위해선...글에 쓰신듯이 서비스에서 그 서버와 컨넥션을 맺든 아니면 서버풀링을 하든
이렇게 해서 많이 하구요. 서비스에서 사용자가 생성한 임의의 BoradcastReceiver로 값을 보내줄수도 있습니당...
2. 백그라운드 실행은 일반적으로...메뉴 > 응용프로그램 > 실행중인 서비스 요 항목의 서비스들을 의미합니다.