2012-09-20 3 views
0

주요 활동이 세로 모드로 변경되었습니다. 그러나 startActivityForResult()을 통해 매우 간단한 작업을 시작하고 완료하기 전에 세로 모드로 전환하면 일부 변수가 null로 설정되어있어 주 활동이 중단됩니다.android : 하위 활동에서 방향이 바뀌면 응용 프로그램이 충돌합니다.

내 서비스와의 연결이 다시 만들어지지 않는 것 같습니다. 수동으로 onActivityResult() 안에 doUnbindService(); doBindService();을 호출했지만 onServiceConnected()은 여전히 ​​호출되지 않았습니다.

여기서 활동 라이프 사이클을 처리하는 적절한 방법은 무엇입니까?

편집는 : -하지만onActivityResult()을 호출되는거야 나는 onServiceConnected()가 실제로 호출되고있는 로그 파일을 참조하십시오.

당신을 위해
+0

코드를 제시해주십시오 : IDE는 내 targetSdkVersion을이 15 인에도 불구하고 "화면 크기"에 대해 불평 –

답변

0

if your android:targetSdkVersion="12" or less 
    android:configChanges="orientation|keyboardHidden"> 

     if your android:targetSdkVersion="13" or more 
    android:configChanges="orientation|keyboardHidden|screenSize"> 

를 추가합니다. 내 답변을 로컬에 대기시키고 충돌을 피하기 위해 해당 객체가 다시 만들어 질 때까지 기다려야했습니다.

2

초 활동 문제는 내가 다시 호출()에서 onCreate 때까지 존재하지 않는 개체를 언급했다이었다 manifest.xml

+0

을'<사용-SDK 안드로이드를 :의 minSdkVersion = "15"안드로이드 : targetSdkVersion을 = "15"/>, 내가 좋아 강제 –

+0

'를 나 자신이 더 높은 API까지 올라간다. (잘하면 내 구형 전화에서 작동 할 것이다.) 이것은 효과가없는 것 같다. 이것은 비슷한 문제처럼 보입니다. http://stackoverflow.com/questions/5758621/life-cycle-predicament-with-orientation-change-in-another-activity 결과 처리를 지연시켜야 할 수도 있습니다. –

관련 문제