원격 백그라운드 서비스를 구현하는 응용 프로그램이 있습니다. 이 서비스는 스레드로 파일을 다운로드하기 위해 구현됩니다 (이 서비스는 다운로드 관리자로 작동합니다).Android 서비스가 종료되지 않도록 하시겠습니까?
파일을 다운로드하려면 서비스에 URL을 보내면 서비스에서 실제로 파일을 다운로드하는 스레드 (AsyncTask를 사용했지만 Android 4.1에서만 작동 함)를 시작합니다. 그러나 조만간 다운로드가 중단되며, 내가 알리는 알림이 더 이상 업데이트되지 않기 때문에 알 수있었습니다. 알림을 클릭하여 다운로드를 취소하면 서비스에 보류중인 의도가 전송되어 다운로드를 취소하지만 서비스가 다시 만들어지면 다운로드가 취소되지 않습니다 (onCreate가 호출 됨).
편집 : 내가 onStartCommand에 START_STICKY를 돌려 말을 잊어 버렸()
어떻게 해결을해야합니까? 서비스가 죽는 것을 피하는 방법은 없습니까?
startForeground()도 찾고 있었는데 서비스 대상이 하나의 파일 만 다운로드하는 것이 좋지만 여러 파일을 동시에 다운로드 할 수있게하려면 좋겠다.
감사합니다.
감사합니다. 마지막으로 서비스를 한 번에 한 번만 다운로드하도록 제한하고 startForeground()를 사용했습니다. 매력처럼 일하고! –
포어 그라운드 서비스를 사용하여 여러 개의 병렬 다운로드를 수행 할 수없는 이유를 모르겠습니다. 별도의 스레드에서 각 파일을 다운로드 할 수 있습니다. 이것이 작동하지 않는 이유는 없습니다. –
물론 할 수는 있지만 알림을 전달하지 않고 startForeground()를 호출해야합니다. –