백그라운드에서 데이터를 가져 오기 위해 백그라운드 서비스를 사용합니다. 서비스를 시작합니다.액티비티와 바인더 서비스
bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
mConnection은 ServiceConnection의 인스턴스입니다.
서비스 중 일부 데이터를 계속 가져 와서 유효성 검사를 통과하면 사운드가 재생됩니다. 이렇게되면 사용자가 활동 화면에서 STOP 버튼을 누를 수 있습니다.이 작업은 바인딩 해제 (mConnection)를 호출하여 내가 소리를 멈추게하는 서비스. 내 쿼리는 서비스가 백그라운드에서 실행되는 동안 안드로이드가 활동을 죽인 다음 사용자가 서비스를 중단 할 수있는 방법을 설명합니다. 서비스를 바인딩 해제하려면 mConnection이 필요하고 onSaveInstanceState에는 번들로 mConnection을 저장할 수 없습니다.
경계 서비스가 아닌 IntentService와 브로드 캐스트 수신기 (startService 호출)를 사용하는 것이 더 낫지 않습니까? 많은 다른 작업이 아니라 특정 백그라운드 작업 일뿐입니다. –
안녕하세요, 사용자가 배경 서비스를 중단하고 싶을 때 STOP 버튼으로 할 수 있도록 활동 UI를 유지하고 싶습니다. 일단 시작된 IntentService는 사용자가 제어 할 수 없습니다. – Mandroid
서비스에서 Executor/Threadpool/Runnable /을 사용하지 마십시오. Executor에서 shutdownNow()에 명령을 보내 제어 할 수 있습니다. 그러면 서비스가 활동 수명주기에 바인딩되어 유지 관리 할 수 있습니다. 서비스에서 실행중인 스레드 제어. –