2011-03-26 2 views
2

나는 방법이 있는지 알고 싶다. 안드로이드에서 응용 프로그램을 다시 실행/다시 시작하는 경우, 충돌이 발생하면이 발생합니다. 응용 프로그램이 오류로 인해 충돌이 발생하면 자동으로 다시 시작하기를 원합니다. 어떻게 할 수 있는지 알려주십시오. 이 작업을 수행?Android에서 프로그램이 충돌하는 경우 프로그램을 다시 시작하거나 다시 시작하는 방법은 무엇입니까?

답변

5

먼저 애플리케이션이 중단되지 않아야합니다. 크래시가 발생하면 일반적으로 캐치되지 않은 예외 (NullPointerException, 보통) 때문입니다. 예외가 던져지는 곳을 찾아서 고쳐라.

귀하의 질문에 구체적으로, 당신은 또한 이러한 예외를 잡아서 응용 프로그램이 충돌하는 것을 막을 수 있습니다. 예를 들어, 응용 프로그램 충돌에서 NullPointerException이 방지 할 수 :이 경우

try { 
    Object nullObj = null; 
    if (nullObj.toString().equals("bleh")) { 
     // app should crash from the NullPointerException if uncaught 
    } 
} catch (NullPointerException e) { 
    // Catch the NullPointerException and prevent crashing 
    e.printStackTrace(); 
} 

을, 응용 프로그램이 충돌하지 않고 응용 프로그램을 표시 계속합니다. 이 시점에서 응용 프로그램을 다시 시작하는 대신 이전 활동으로 돌아가서 사용자에게 잘못된 점을 알리십시오.

+0

+1은 모두 오류를 예상하고 올바르게 대응합니다. –

0

나는 귀하의 곤경을 이해합니다. 릴리스 전에 모든 예외를 잡는 것은 어려울 것입니다. 충돌이 발생한 경우 ACRA을 사용하여 예외를 캡처 할 수 있습니다. 이렇게하면 강제 종료를 피할 수 있습니다. 또한 내가 믿는 앱을 다시 시작하는 메커니즘이 있습니다.

관련 문제