2016-08-26 1 views
-1

onPause()에 사용자를 로그 아웃하라는 호출을 삽입했습니다. 하지만 안드로이드 장치의 방향을 변경하면 onPause 메서드가 동일하게 호출됩니다.onPause() 메서드가있는 경우 장치 방향 변경

왜? 장치를 가로/세로로 설정하면 logoutUser 메소드를 호출 할 필요가 없습니다.

답변

0

이 다시 더 이해를 위해이 링크를 참조하십시오. Handling Runtime Changes을 확인하십시오.

일부 장치 구성은 런타임 (예 : 화면 방향, 키보드 가용성 및 언어) 중에 변경 될 수 있습니다. 이러한 변화가 발생하면, 안드로이드는

레크리에이션 뒤에 이유는 앱이 새로운 방향에 따라 레이아웃을 변경할 수 있다는 것이다 (에서 onCreate 다음들의 OnDestroy()가 호출,()) 실행중인 작업을 다시 시작합니다.

Activity의 에서 콜백을 받고 필요한 레이아웃이 변경 될 수 있으므로 사용자가 휴대 전화 방향을 변경할 때마다 대부분을 다시 만들 필요가 없습니다. AndroidManifest.xml 파일에있는 Activity 태그에 다음 줄을 추가하여 사용 중지 할 수 있습니다.

 android:configChanges="orientation|keyboardHidden|screenSize" 
+0

가 작동하지 않습니다 ... – user6612196

+0

작동하지 않는 부분을 정성스럽게 정리하십시오? – Abbas

+0

<활동 안드로이드 : 이름 = "activity.ScrollableTabsActivity." 안드로이드 : configChanges = "오리엔테이션 | keyboardHidden" 안드로이드 : ". activity.ScrollableTabsActivity": 라벨 = "@ 문자열/title_activity_scrollable_tabs" 안드로이드 parentActivityName => – user6612196

1

예를 들어 가로 방향에서 세로 방향으로 시간을 변경하면 시간 활동이 다시 생겨서 안드로이드 활동 라이프 사이클 OnPause() 메소드가 호출됩니다.

logoutUser 메소드의 호출을 피하려면 onSavedInstanceState() 메소드를 사용하여 현재 사용자의 상태를 저장해야합니다.

우리가 휴대 전화의 방향을 변경할 때마다 기본 Activity으로
https://developer.android.com/training/basics/activity-lifecycle/recreating.html

+0

mmm 그리고 내가 logSourceInstanceState 메소드에 삽입해야 logoutUser를 호출 할 수 있습니까? – user6612196