2011-03-30 6 views
0

나는 onCreate에서 서비스를 만들었습니다. 일부 집안일을 인스턴스화 할 때 몇 가지 검사를하는 등의 작업을합니다.Android 서비스 취소 oncreate

이제 문제는 oncreate에서 문제가 발생하여 취소하거나 중지하거나 예외를 throw하는 방법입니다.

나는 이미 그것을 시작한 것을 알려주거나 뭔가 잘못되었다는 것을 알리기 위해 방송을 가지고있다.하지만 어떻게 멈추게 할 것인가?

감사

답변

2

이 닫혀에서라고 컨텍스트까지 계속됩니다 bindService 시작있어 서비스 (즉, 작업이 완료됩니다) 또는 unbindService(ServiceConnection)가 호출됩니다.

서비스의 onCreate에 문제가 발생하면 stopSelf()를 호출하십시오. 그런 다음 활동중인 브로드 캐스트 리시버에서 unbindService (ServiceConnection)를 호출하면 서비스가 해제되고 중지됩니다.

+0

안녕. 네가 끈적 거리는 것을 지정하지 않았다면 네. 스톱 자체의 문제점은 서비스가 시작되지 않았기 때문에 서비스가 중지되어서 어떻게 작동 할 수 있는가하는 것입니다. – Pintac

+0

@Pintac 문제가 발생하면 onCreate에서 START_NOT_STICKY를 반환 할 수 있습니다. 서비스는 서비스 자체가 죽을 때까지 계속되며 아무 것도 바인딩되지 않습니다. 서비스가 묶여있는 한, 메모리 스트레인을 제외하고는 서비스를 종료 할 수 없습니다. 서비스를 중지하고 바인딩을 해제해야하며 순서는 중요하지 않습니다. – CodeFusionMobile

+0

안녕하세요. 당신은 oncreate가 리턴 타입을 가지고 있지 않기 때문에 시작을 의미합니다. – Pintac