0

여기 내 활동이 있습니다. 화면이 잠길 때 현재 활동이 사라짐

<activity 
      android:name=".MainActivity_Hard" 
      android:configChanges="keyboardHidden|orientation|screenSize" 
      android:label="@string/title_activity_main_activity__hard" 
      android:noHistory="true" 
      android:screenOrientation="portrait" > 
     </activity> 

나는 안드로이드로 표시 : noHistory는 = "true"로 나는 화면이 활동 스택에 추가하지 않았기 때문에.

그러나 화면을 잠그고 잠금을 해제하면. 작업이 사라지고 이전 화면이 나타납니다. 이것은 일어나서는 안됩니다. 아무도 왜 저에게 말할 수 있 었는가?

참고 : 그것은 ICS (삼성 갤럭시 노트)에서 발생하지만, 이전 장치 (진저 브레드, 등.)

+0

귀하의 활동은'onPause()'메소드에서'finish()'를 호출합니까? 그건 내가 본 것 중 꽤 흔한 일이야 – JRaymond

답변

3

즉시 사용자가 해당 활동에서 멀리 탐색으로는 것을 의미한다 이전에 생성 한 활동으로 되돌아갑니다.

이것은 일반적으로 시작 프로그램으로 만 작동하며 사용자가 자식의 시작 화면으로 돌아갈 수 없도록하려는 스플래시 화면 유형 활동에 일반적으로 사용됩니다.

이것이 의도가 아니라면 noHistory 속성을 제거하고 활동 라이프 사이클을 직접 관리하는 것이 좋습니다. (당신이 원하지 않는 경우 예를 들어, 활동은 그냥 다른 활동을 시작 직후) 마무리 (호출 스택에있을 수 있습니다.)

android:noHistory

를 활동이되어야하는지 여부 사용자가 이동을 마치고 화면에서 더 이상 볼 수 없으면 활동 스택에서 제거되고 완료됩니다 (finish() 메소드가 호출 됨). 완료되어야하는 경우 "true"를 반환하고 그렇지 않으면 "false"를 반환합니다. 기본값 은 "false"입니다. "true"값은 활동이 기록 추적을 남기지 않음을 의미합니다. 작업의 활동 스택에 남아 있지 않으므로 사용자가 되돌릴 수 없습니다.

+0

네,이 일이 내가 끝낸 일이다. ... android : noHistory는 내가 원하는 것을 위해 옳은 것이 아니다 ... – mukund

0

와 그 이유를 모르겠어요. 하지만 현재 스택에이 활동을 추가하고 싶지 않은 경우 android : launchMode = "singleTask"를 설정할 수 있습니다. 이 활동을 시작하면 자신의 스택에 추가됩니다. 당신은 더 여기 enter link description here 을 볼 수는 응용 프로그램 태그를이 권한 태그를 넣어의 AndroidManifest.xml에서 :)

0

도움을 바랍니다. 잠금 화면을 데리고 포함 - - 그 마무리() 함수는, 따라서 그것을 파괴하고가는, 자동으로 호출되는 활동에 noHistory 속성을 설정

<uses-permission android:name="android.permission.WAKE_LOCK" />