2017-05-02 3 views
3

나는 호출 할 때 일부 상태 값을 검사하고 상태에 따라 일부 물건을 비동기 적으로 호출 (locationmanager + asynctask)하거나 값을 저장하고 종료해야하는 서비스가 있습니다.Android 서비스 onStartCommand()에서 stopSelf()를 호출해도 괜찮습니까?

나는 비동기 작업을 때로는 생성해야하기 때문에 intentservice보다는 서비스를 만듭니다.

나는 서비스에 대해 읽었으며, 끝나면 stopSelf를 호출해야한다는 것을 모았습니다. 하지만 아무것도 할 필요가없는 경우에는 onStartCommand를 종료 할 때 완료됩니다.

그래서, 그 시점에서 끝나면 onStartCommand의 마지막 줄에서 stopSelf를 호출하면됩니다. 이 접근법에 문제가 있습니까?

입력 해 주셔서 감사합니다.

답변

1

if 서비스를 체크인하면 서비스를 시작하기 전에 확인을 수행하지 않으므로 소중한 리소스를 사용하지 마십시오.

질문에 대답하려면 stopSelf()Service을 중지하지만 서비스를 사용하지 않으면 시작하지 않는 것이 좋습니다.

+0

예, 실제로 그것에 대해 생각했습니다. 문제는 서비스를 호출하는 브로드 캐스트 수신자와 서비스가 코드를 실행할 때 상황이 바뀔 가능성이 조금 있습니다. 또는 atleast 내 생각했다 :) – Mathias

관련 문제