2010-03-19 5 views
2

활동에 서비스를 생성하고 바인드 했으므로 뒤로 버튼을 누르면 안드로이드 애플리케이션이 멈추는 것을 피할 수있는 방법을 알고 싶습니다.안드로이드 - 뒤로 버튼을 누를 때 서비스 중지 방지

뒤로 버튼을 누르면 onDestroy 메서드가 호출되고이 메서드에서 서비스의 바인딩이 해제됩니다. 뒤로 버튼 이벤트를 돌보고 수동으로 onStop() 메서드를 호출하여이를 막으려 고하지만 항상 이후에 onDestroy를 호출하려고합니다. 그 이유는 무엇입니까?

답변

3

서비스를 시작하는 데는 두 가지 방법이 있습니다. 첫 번째는 Context.startService을 사용합니다. Context.stopService 또는 Service.stopSelf을 사용하여 명시 적으로 중지 할 때까지 서비스를 실행합니다. 두 번째 방법은 Context.bindService으로 전화하는 것입니다. 서비스가 아직 시작되지 않은 경우 서비스가 시작됩니다. 그러나 적어도 하나의 바인딩 만 존재하는 한 실행됩니다. 마지막 바인딩이 해제되면 서비스가 중지됩니다. 두 번째 방법을 사용하여 서비스를 시작한 것처럼 보입니다. 자세한 내용은 http://developer.android.com/intl/de/reference/android/app/Service.html#ServiceLifecycle을 참조하십시오.

+0

감사합니다. bindService 만 사용하는 대신 bindService를 사용하여 startService를 사용할 때 작동합니다 – Ghostwan

관련 문제