17

오리엔테이션 변경 후 다시 작성하면 안되는 활동이 있습니다. 매니페스트의 활동 선언에 다음을 추가했습니다.허니 콤의 오리엔테이션 변화

android:configChanges="orientation" 

Android 2.3에서는 완벽하게 작동합니다. 에 방향을 바꿀 때 HONEYCOMB_MR2onCreate 어쨌든 호출됩니다.

오리엔테이션 변경 후 활동을 재현하지 못하게하려면 HONEYCOMB_MR2에서 수행해야 할 다른 것이 있습니까?

+0

'android : configChanges = "keyboardHidden | orientation"'시도해 봤어? 나는 그것이 차이를 만들 것이라고 기대하지는 않지만 노력할 가치가 있습니다. – CommonsWare

+0

@CommonsWare 그것은,하지만 가능한 모든 가치를 시도 하나 작동 발견. 내 대답을 보라. – hpique

답변

37

분명히 orientation|screenSize (?)을 사용하면 Honeycomb에서 onCreate을 예방할 수 있으며 이전 Android 버전에서는 아무 문제가없는 것처럼 보입니다.

android:configChanges="orientation|screenSize" 

이 필요하다 내가 정말이 새로운 값에 대한 documentation을 이해하지 않는 이유 없음 아이디어.

오리엔테이션 변경시 HONEYCOMB_MR2에서 액티비티가 오리 엔테이션과 화면 크기의 두 가지 구성 변경으로 간주됩니다. 둘 다 기본적으로 활동을 재현하려고 시도합니다.

+0

그래, 그것들은 새거야. 'android : targetSdkVersion' 값은 무엇입니까? – CommonsWare

+0

android : targetSdkVersion = "13" – hpique

+2

좋아, 글쎄, 그 문서가 말하는 것을 유발할 것이다. 이것은 새로운 리소스 세트 한정자와 관련이 있습니다. http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html 기본적으로 이전 소형/일반 확장/large/xlarge 및 port/land 항목을 사용하여 차원을 기반으로하는 리소스 세트를 포함하면 해당 차원의 변경 사항이 구성 변경으로 간주됩니다. 두 번째 화면 전환 기능이 켜짐/꺼짐으로 설정된 듀얼 스크린 기기 등 오리엔테이션에 의해 크기가 변경되지 않는 기기가있을 수 있습니다. – CommonsWare