2010-01-12 2 views
1

안드로이드 플랫폼 1.5안드로이드 1.5 및 1.6 마무리 활동과 홈 버튼 이상한 행동을 호출 Afer 즉

  • 은 그때 내가 페이지를 찾아 이동() 내가 마무리 호출 끝에서 시작 화면을 엽니 다.
  • 홈페이지 찾아보기 페이지에서 응용 프로그램을 숨 깁니다. (Android의 멀티 태스킹 기능 중 b/c)
  • Android의 바탕 화면 시작 응용 프로그램으로 다시 갈 때 시작 화면에서 시작됩니다.

안드로이드 플랫폼 1.6

  • 은 그때 내가 페이지를 찾아 이동 내가 전화를 최종 마무리()에서 시작 화면을 엽니 다.
  • 홈 페이지를 클릭하면 응용 프로그램이 숨겨집니다. (안드로이드 멀티 태스킹 기능의 b/c)
  • 안드로이드의 바탕 화면 시작 응용 프로그램으로 다시 갈 때 항상 시작 화면 대신 탐색 화면에서 시작됩니다 그게 왜?

내가 된 OnSave 예를 내가 한 OnCreate 방법에서 값을 추출하고

@Override 
protected void onSaveInstanceState(Bundle outState) { 
    outState.putString(WLConstants.READ_GPS, readGPS); 
    outState.putSerializable(WLConstants.SEARCH_CRITERIA, searchCriteria); 
    outState.putString(WLConstants.PARAM_WHERE, locationField.getText().toString()); 
    outState.putBoolean(WLConstants.PARAM_NEAR_ME, rNearMe.isChecked()); 
    super.onSaveInstanceState(outState); 
    Log.v(TAG, "onSaveInstanceState()"); 
} 

를 모든 데이터를 걸었습니다

"인스턴스 발견"이라고 만나지
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
if(savedInstanceState != null){ 
Log.v(TAG,"instace found"); 
}else{ 

Log.v(TAG,"instace not found"); 
} 
} 

의미는 어떤 이유로 번들 반환하지 않습니다 왜 ?

+0

누군가가 방금 스택 기록과 비슷한 문제가 있지만 디버거에서 실행 중일 때만 답변을 게시했습니다. http://stackoverflow.com/questions/2061143/android-keep-tasks-activity-stack-after -restart-from-home/2061447 –

답변

1

같은 것을하는 1.5와 1.6 장치의 응용 프로그램에서 이것을 시도한 적이 있습니다. — LAUNCHER 활동은 "기본"활동을 시작하고 자체적으로 finish()을 호출하는 스플래시 화면입니다. 또한 스플래시 활동에는 noHistory 특성 집합이 있습니다.

어쨌든 두 장치에서 홈을 누른 다음 다시 실행 아이콘을 누르면 기본 화면이 예상대로 표시됩니다.

그러나 안드로이드는 런처 아이콘에서 프로세스를 시작할 때 프로세스가 여전히 작동하는지 여부에 대해 보증하지 않습니다. 따라서 작업 스택이 중단 된 지점부터 시작하거나 LAUNCHER 작업에서 시작할 수 있습니다.

하지만 귀하의 경우, 그리고 지금 내 경험으로는 일반적으로 런처를 때면 "찾아보기"화면에 있어야합니다. 당신의 시스템이 엄청나게 오버로드되지 않는 이상.

어쨌든 인스턴스 상태에 대해 : super.onSaveInstanceState(outState)을 처음 호출하면 어떤 차이가 있습니까?

또한이 메서드는 일반적으로 시스템에서 작업이 종료 될 때만 호출됩니다. 뿐만 아니라 배경으로 간다. 이 경우에 당신이 할 일은 없어야합니다.