2013-12-19 6 views
0

이미지를 내 보내는 앱에서 스레드를 실행 중입니다. 이 프로세스는 OutputStream에 기록해야합니다.OutputStream을 방해하는 파일 삭제

내 앱이 갑자기 뒤로 가기 버튼을 사용하여 닫히면 파일은 계속 0 바이트로 유지됩니다. 앱을 종료하는 중에 OutputStream 파일을 닫을 수있는 방법이 있습니까?

다음 코드를 시도했지만 파일이 삭제되지 않습니다. 내 생각 엔 파일이 그 순간에 쓰여지고 그 자체를 삭제할 수 없다는 것입니다.

public void onDestroy() { 
     if (export){ // this boolean tells me if the thread is running 
      file.delete(); 
     } 
    super.onDestroy(); 
    } 

답변

0

당신은 클릭 할 때 뒤로 가기 버튼 안드로이드는 이러한 방법 내부 코드를 넣어 onPause() 및 이동 중지() 시도들의 OnDestroy()를 호출하지만, 를 호출하지 않습니다

0

사용 onPause() :

@Override 
    protected void onPause() { 
     if (export){ // this boolean tells me if the thread is running 
     file.delete(); 
    } 
     super.onPause(); 
    } 

onDestroy 당신이 돌아갈 때가 아니라 활동이 파괴 될 때 호출됩니다!

+0

내 앱이 종료 될 때 뒤로 버튼을 터치 할 때 ... 나는 오버라이드 한 적이 없습니다. 어쨌든 내 문제는 내 앱이 갑자기 종료되고 내보내기 프로세스가 계속 작동하면 스트림을 플러시 만 할 수 있지만 닫히지 않아 파일을 삭제할 수 없다는 것입니다. – whitenoisedb