2016-09-12 3 views
0

일부 용도로 인텐시브 서비스를 사용하고 있습니다. 서비스 시작시 다음 두 가지 작업을 수행해야합니다.인 텐트 서비스에서 인스턴스화하기

  • getSystemService() 메서드를 사용하면 서비스를받을 수 있습니다.

  • getApplication()을 호출하여 내 맞춤 애플리케이션 클래스의 기능을 호출하십시오. (이것은 단검 응용 프로그램 구성 요소를 가져와이 클래스의 종속성을 주입 할 수 있도록하기위한 것입니다.)

나는이 두 가지를 모두 생성자에서 시도했지만 NPE를 모두 던졌습니다. 어쩌면 onCreate()이 그 시점까지 호출되지 않았기 때문일 수 있습니다. 그래서 지금은 onHandleIntent()에 있습니다.

하지만이 서비스를 시작하기 위해 의도가 시작될 때마다 onHandleIntent()이 호출됩니다. 그래서이 호출은 내가 좋아하지 않는 onHandleIntent()이 호출 될 때마다 만들어집니다. 기능적으로, 나는 내가 원하는 것을 얻을 수 있지만, 서비스가 시작될 때 단 한 번만 이러한 일을 할 수있는 방법이 있어야한다고 생각합니다.

intentservice의 onCreate은이 모든 작업을 수행하기에 좋은 장소입니까? 아니면 더 나은 해결책이 있습니까? 그 사람이 도움이된다면

+1

네,'onCreate' 안에 물건을 넣어주세요. – pskink

답변

0

그래서,

나는, onCreate()를 재정 의하여이 일을 끝났다.