호출되지 않습니다, 난 그냥 단순히 "unBindMyService"작업을 할 onPause에서이들의 OnDestroy가 나는 onResume에서, 내 MainActivity에 로컬 서비스를 추가
@Override
public void onResume() {
super.onResume()
boolean is_start = isMyServiceRunning(MyService.class)
if (is_start) {
bindMyService()
} else {
startMyService()
bindMyService()
}
}
했다.
또한 서비스를 바인드하기 위해 Context.BIND_AUTO_CREATE 플래그를 추가합니다. 결과는 매우 이상합니다.
- 내가 로그 캣과이면 MyService의 "에서 onCreate"와 "onBind"를 볼 수 있습니다, 이것은 내가 다른 활동 또는 앱으로 전환 할 때 "바인딩 해제"가 정확한지,라고
- 부드럽게 간다!
- 설정에서 서비스를 강제 종료하면 응답으로 서비스의 "onDestroy"가 호출됩니다.
- 앱의 "최근 목록"에서 앱을 제거하면 서비스의 "onDestroy"가 호출되지 않아 서비스가 종료되지 않은 것으로 설명 할 수 있습니다. 또한 OK.
- 내가 설명 할 수없는 것은 4 일 후에 다시 응용 프로그램을 시작한 것이고 서비스의 "onCreate"및 "onBind"는 호출되지만 서비스의 단일 "onDestroy"는없는 것으로 나타났습니다. "is_start"가 true 일 때도 "onDestroy"가 호출되지 않고 서비스가 다시 생성됩니다.
그래서 4와 5 사이에 어떤 일이 발생 했습니까? 서비스가 아직 살아 있습니까? 아니면 죽었습니까?
더 많은 코드를 게시하십시오. 메서드에서 무엇이 isMyServiceRunning, startMyService 및 bindMyService입니까? – Okas
smallzhan ... 나는 서비스의 모든 경우를 실행했습니다 ... 나는 여러 가지를 발견했습니다. onething 나는 service에서 ondestroy가 stopservice()가 실행되면 호출 할 수 있다고 말하고 싶습니다. – GvSharma
가능성이 5는 경고없이 살해 된 4와 다른 프로세스에서 발생합니다 - 로그에서 프로세스 ID()를 확인하십시오. –