2013-07-26 2 views
0

플레이어 서비스를 구현했습니다. 음악 재생시 응용 프로그램을 닫고 응용 프로그램이 종료되고 onDestroy 서비스를 호출 할 때 전화가 다시 시작됩니다. 어떻게이 문제를 해결할 수 있습니까? 마지막에onDestroy 서비스 충돌 및 다시 시작 전화

@Override 
public void onDestroy() { 
    // TODO Auto-generated method stub 
    if (!PlayerServices.mp.isPlaying()) { 
     stopService(playerService); 
     cancelNotification(); 
    } 
    super.onDestroy(); 
} 

통화 super.onDestroy() :

@Override 
    public void onDestroy() { 
     // TODO Auto-generated method stub 
     super.onDestroy(); 
     if (!PlayerServices.mp.isPlaying()) { 
      stopService(playerService); 
      cancelNotification(); 
     } 
    } 

당신에게

+0

로그는 무엇입니까? 먼저 플레이어가 노래를 틀어 놓는 지 알아보기위한 정적 방법이 ** 잘못되었습니다 ** – Blundell

+0

avd에 아무것도 표시되지 않습니다. bcoz이 앱을 외부 저장소에 저장하면 휴대 전화에이 앱이 설치되었습니다. – user2586364

+0

? LogCat은 뭐라고 말합니까? – Blundell

답변

1

변경과 같은 코드의 순서를 감사드립니다.

+0

마침내 super.onDestroy()를 넣으려고했지만 앱이 계속 충돌하여 다시 시작합니다. – user2586364

+0

자세한 정보가 없으면 무슨 일이 벌어 지는지 알기가 어렵습니다. 어쩌면 logcat에서 로그를 볼 수 있습니다. –

+0

당연히 그렇습니다, 그러나이 app는 저장 장치를 읽습니다. 나는 드라이브에서 읽는 것을 모른다. 승인. 나는 그 문제를 찾으려고 노력할 것이다. 모두 감사합니다 :) – user2586364

-2

아무 것도 super.onDestroy()를 호출하면 안됩니다. 이 특별한 경우에, 당신은 서비스를 파괴하고 그것을 막으려 고합니다. 이 사실에 만족할 수 있도록 logCat 결과물을 살펴 봐야합니다.

일반적으로 라이프 사이클 메소드가 서브 클래 싱중인 기본 클래스의 메소드를 호출 할 것으로 예상되는 경우 javadoc은 그렇게 말합니다. 예를 들어, Activity.onPause()를 살펴보십시오.

+1

'super.onDestroy()를 호출하지 말라는 것은 매우 잘못된 조언입니다. 실제로 의미하는 바를 설명하기 위해 편집하십시오. – Delyan

+0

음악을 재생할 때 홈 화면에서 앱을 파괴하는 방법을 모르겠습니다. – user2586364

+0

super.onDestroy()가 필요하지 않으며 이상한 결과가 발생할 수 있습니다. onDestroy()에서 시스템 콜백에 응답하는 경우 작업을 마무리하십시오. 그게 당신이해야 할 전부입니다. 시스템이 구성 요소를 파괴합니다. –