2012-04-17 10 views
0

홈 단추를 눌러 홈 화면을 시작하려고하면 다음 코드를 시도하여 활동을 다시 시작했습니다.onSaveInstanceState 이벤트가 발생했을 때 활동 다시 시작

@Override 
public void onSaveInstanceState(Bundle state){ 
    try{ 
     Intent i = new Intent(this, LockerAppActivity.class); 
     startActivity(i); 
    }catch(Exception ex){ 
     Toast.makeText(this, ex.getMessage(), Toast.LENGTH_LONG); 
    } 
} 

예외는 발생하지 않으며 코드가 실행됩니다. 그러나 활동이 시작되지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까 ?

답변

4

1 단계 : onSaveInstanceState() 구현을 삭제하십시오.

2 단계 : 사용자가 홈 버튼을 눌러 홈 화면을 시작하려고 할 때 활동을 다시 시작하지 마라. 그 이유는 불필요하기 때문입니다.

3 단계 :이 "다시 시작"기술을 시도하는 원인이되는 문제를 해결하십시오.

예를 들어 클래스 이름이 LockerAppActivity 인 경우 쉽게 패배 한 "잠금 화면"중 하나를 만들려고합니다. 왜 당신이 나를 괴롭 히고, 누군가가 그들을 지나갈 수 있다고 생각하면, 저 밖에 있습니다. 그럼에도 불구하고 사용자가 홈을 누를 때 응용 프로그램이 실행되도록하는 올바른 방법은 홈 화면입니다.

+0

고맙습니다. 글쎄, 네, 그렇게하려고합니다. 응용 프로그램을 만들려고 할 때 시작될 때 장치의 다른 응용 프로그램을 실행할 수 없습니다. 의미,이 응용 프로그램은 장치 부팅 후 시작되며 이후에 실행할 수있는 유일한 응용 프로그램입니다. 표준 소비자 응용 프로그램이 아니라 상업적인 응용 프로그램이 될 수 있습니다. 이 일에 대해 어떻게 생각해? –

+0

@HeshanPerera : "어떻게 내가이 문제에 관해 알 수 있니?" - 대답에 표시된대로 홈 화면으로 설정합니다. 안전 모드에서 재부팅하면 제거 할 수 있습니다. * 그 *를 방지하려면 장치를 루트로 설정하고 사용자 정의 펌웨어를 설치해야합니다. – CommonsWare

+0

다시 한번 감사드립니다. 너는 나를 위해 많은 것을 정리했다. –

관련 문제