2013-10-25 10 views
0

1. 응용 프로그램 설치 프로그램에서 apk를 설치하십시오. 2. "OPEN"을 클릭하면 즉시 실행됩니다. 3. 응용 프로그램이 시작된 후 HOME 키를 누릅니다 4. 응용 프로그램 목록에서 응용 프로그램을 찾아서 다시 실행하십시오 5. 앱이 새 인스턴스로 시작됩니다. 그리고 3 ~ 5 번을 여러 번 반복하면 새 인스턴스가 반복 생성됩니다. 이제 "BACK"키를 누르면 실행 한 것과 같은 시간 동안 앱이 계속 표시됩니다.Android : 앱 설치 프로그램에서 앱을 실행하면 몇 가지 인스턴스가 발생합니다.

그러나 2 단계에서 "완료"를 클릭하고 앱 목록에서 앱을 실행하면 모든 것이 정상입니다. 왜?

답변

1

앱 설치 프로그램 (많은 Android IDE와 마찬가지로)은 일반 앱 실행기와 다른 인 텐트 플래그를 사용합니다. 즉, 런처의 의도가 활동의 기존 의도와 올바르게 일치하지 않아 새로운 활동을 생성하게됩니다. 스택 맨 위에.

이 질문은 당신이에 대한 요구하는지 것과 유사하다고 생각 :

Activity stack ordering problem when launching application from Android app installer and from Home screen

0

이 솔루션은 날 위해 일했습니다. 앱이 이런 식으로 시작되었는지 확인한 다음 활동을 완료합니다. 이것은 시작되어야 할 활동을 떠나서 앞으로 가져옵니다.

private void checkIfActivityShouldBeFinished() { 
 
    if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) { 
 
    // Activity was brought to front and not created, 
 
    // Thus finishing this will get us to the last viewed activity 
 
    finish(); 
 
    return; 
 
    } 
 
}