2011-02-28 4 views
0

Android 웹뷰 제작에 문제가 있습니다. 문제는 앱이 실행 중일 때 휴대 전화가 방향을 바꿀 때 가로가 세로가되거나 앱이 다시 시작된다는 뜻입니다. 감사합니다Android 웹 앱이 다시 시작됩니다.

답변

2

발생을 화면 방향이 바뀔 때의 활동. 당신은하지만 방향 변경 이벤트를 직접 처리하기 위해 사용자 지정 코드를 작성할 수 있습니다

  • 는 활동도
+0

all.Its에게 고마워.하지만 지금은 내가 직면하고있는 것은 내가 방향을 바꿀 때 나는 흰 빈 페이지가 alhtough 자바 스크립트 및 기타 설정을 사용할 수있다. 감사 – umar

1

기본 안드로이드 동작을 파괴하고 방향 변경 활동을 다시 만드는 것입니다. 파괴하기 전에 onSaveInstanceState()을 덮어 쓰기하여 응용 프로그램 데이터를 저장하거나 onRetainNonConfigurationInstance()을 호출하여 상태 저장 객체를 보관할 수 있습니다. the android docs을 참조하십시오.

1

또 다른 가능성 (예를 들면, 웹보기 외부 상태가없는 가벼운 활동 보통 괜찮은 적합)는 회전 이벤트를 흡수하고보기를 다시 그려야 할 것입니다. http://www.androidguys.com/2008/11/11/rotational-forces-part-three/ 참조 - 아이디어는 다음과 같습니다

  1. 안드로이드 넣어 : 당신은 안드로이드 당신 을 위해 처리 할 수 ​​있도록 대 자신에게 을 처리 할 구성을 변경 목록 파일에 configChanges 항목을.

  2. 구성 중 하나는 당신이 안드로이드에 나열된 을 변경하면 을 호출됩니다의 onConfigurationChanged() 당신의 활동에 , 구현 : configChanges 이 디폴트의 동작은,을 다시 시작하는 것입니다

+0

all.Its에게 고마워하지만 이제는 내가 겪고있는 것은 그것이 방향을 바꿀 때 나는 빈 페이지를 얻었고, 나는 자바 스크립트와 다른 설정을 가능하게했다. 감사합니다 – umar

+0

위의 질문에 소스를 게시하면 도움이 될 수 있습니다. –

0

우마르 ... 인스턴스 상태를 저장하는 것은 Android에서 매우 다릅니다. Soft kill (전화 로테이션)에서는 번들을 사용하여 onSaveInstanceState에 비 뷰 상태를 저장할 수 있습니다. 하드 킬 (활동에 초점이있는 동안 뒤로 버튼)을하면 onStop에서 비가시 및 뷰 상태를 환경 설정을 사용하여 저장할 수 있습니다. onCreate에서 상태를 복원 할 수 있습니다.

IF onSaveInstanceState가 호출되면 onStop BEFORE라고 부릅니다. 따라서 onSaveInstanceState에서 플래그 isSavedInstanceState를 true로 설정하면 하드 킬을 제외하고는 onStop에 환경 설정을 저장하지 않아도됩니다. 비법은 onCreate가 아닌 onResume에서 플래그 isSavedInstanceState를 false로 재설정하는 것입니다.

JAL

나는 샘플 코드 here 있습니다.

관련 문제