꿈꾸는 시스템 디자이너

onCreate()내에서 바이드한 서비스 호출시 문제 발생 원인 본문

Development/Android

onCreate()내에서 바이드한 서비스 호출시 문제 발생 원인

독행소년 2013. 10. 16. 17:53

Activity가 Service를 바인딩하고 서비스를 호출하는 앱을 개발할 때, 주로 특적 View를 클릭될 때 서비스내 메소드가 호출되도록 구현한다.

하지만 때에 따라서는 앱(엑티비티)가 시작되면서 서비스를 바인딩하고, 바로 서비스내 메소드를 호출할 필요가 있는데 이를 구현하기 위해서 Activity내의 onCreate() 안에서 서비스 메소드를 호출하면 에러가 발생한다.


이는 서비스가 아직 바인드 되지 않은 상태에서 서비스 메소드를 호출하기 때문이다.


앱이 실행하면서 바로 호출할 서비스 메소드가 있다면, onCreate()가 아닌 서비스 바인딩을 위해 구현한 ServiceConnection내의 onServiceConnected()내에서 호출하면 해결된다.

Comments