2012-03-27 3 views
0

내 앱에 오류 상태가 발생하여 사용자가 인터넷에 연결되어 있지 않아서 먼저 연결해야한다고 알리는 XML보기가 표시됩니다. 문제는 그가 인터넷을 가능하게하고 연결을 시도 할 때 힘을 가까이에서 얻을 수 있다는 것입니다. 왜 그런지 모르겠지만 내 오류 상태 화면에 활동을 종료하기위한 코드를 추가하면 문제를 해결할 수 있다고 생각합니다. 제 질문은 오히려 간단합니다. 둘 다 필요합니까? 아니면 단지 그들인가? 다른 것을 추가 하시겠습니까?작업으로 인해 강제로 닫히지 않을 수도 있습니다.

@Override 
     protected void onStop() { 
      super.onStop(); 
      // The activity is no longer visible (it is now "stopped") 
finish(); 
      System.exit(0); 
     } 
    @Override 
     protected void onDestroy() { 
      super.onDestroy(); 
      // The activity is about to be destroyed. 
finish(); 
      System.exit(0); 

     } 

내 앱의 흐름은 다음과 같습니다. 사용자가 앱을 입력하고 온라인 상태인지 확인합니다. 그렇다면 기본 화면으로 이동하면 모든 것이 계획대로 진행됩니다. 이제 오류 상태로 이동하십시오. 따라서 호출 된 경우 오류 상태는 실행할 첫 번째 활동이됩니다 (시작한 후).

편집 : 사용자에게 연결이 없다는 사실을 알려주고 싶습니다. 다시 시도해보십시오.이 때문에 모든 활동이 종료됩니다 (실제로 실행되는 것처럼 실행됩니다). 그래서 다음에 그는 앱에 들어가고, 그 시점부터 시작해서가 아니라 그 시점부터 시작합니다.

답변

0

다릅니다. OnStop과 OnDestroy에는 두 가지 목적이 있습니다. 은 (연결 super.finish가 없음을 경고하기 위해 연결 캐치 대화 확인)

: 당신은 그 FC에게

@pseudo 코드 을 시도 피하기 위해 시도/캐치에 오류가 있습니다 이제까지 무엇을 둘러싸고한다

+0

이 더 많은 특정과 어쩌면 예를 들어 일 수 있습니다

잘이 스레드를 참조? 무슨 소리 야? 나는 단지 연결이 없다는 것을 사용자에게 알리고 싶습니다. 다시 시도해보십시오.이 때문에 모든 활동이 종료됩니다 (실제로 실행되는 것처럼 이것이 실행됩니다). 그래서 다음에 그는 앱에 들어가고, 그 시점부터 시작해서가 아니라 그 시점부터 시작합니다. –

0

절대로

System.exit(0); 

는 주요 활동 발사 후 연결을 확인 완료하자 사용하지 않습니다. 연결이 있으면 모든 것이 잘됩니다. 그렇지 않으면 finish() onClick을 호출하는 AlertDialog를 팝업하십시오.

+0

왜 사용하지 않습니까? 내가 끝내기 만하면() 문제가 될 것입니까? –

+0

최고의 노치 앱 개발자가 되려면 안드로이드 액티비티 라이프 사이클 가이드 라인을 따르십시오. 자세한 내용은 http://stackoverflow.com/questions/2033914/quitting-an-application-is-that-frowned-upon을 참조하십시오. –

0

인터넷에 연결되어 있지 않을 때 주 활동을 끝내는 데 문제가 있습니까? 주 활동이 끝나면 다시 시작한 후 처음부터 시작됩니다.

How to close Android application?

관련 문제