2

이 열리고 대화 상자가 열리고 장치가 회전하면 응용 프로그램이 충돌합니다. 나는 이미 모든안드로이드 대화 상자가 열리면 내 응용 프로그램에서

나는이 매니페스트

android:configChanges="keyboardHidden|orientation" 
     android:screenOrientation="fullSensor" 

에 사용하도록 설정 한 모든 내 활동에

하고이 코드

에게이 문제의 대화를 위해 회전에게 자신을 처리하고 있다고 생각

if(!WebViewActivity.this.isFinishing() && dialog != null && dialog.isShowing()){ 
       dialog.dismiss(); 
    } 

아직 기기가 회전하는 동안 대화 상자가 열리면이 충돌 메시지가 표시됩니다.

java.lang.IllegalArgumentException: View not attached to window manager 
at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:383) 
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:285) 
at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:79) 
at android.app.Dialog.dismissDialog(Dialog.java:323) 
at android.app.Dialog.dismiss(Dialog.java:306) 
at bundle.android.views.WebViewActivity$1.onPageFinished(WebViewActivity.java:133) 
at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:323) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:5039) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
at dalvik.system.NativeStart.main(Native Method) 

또는이 오류 메시지

android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running? 

이 예는 WebViewActivity라는 이름의 활동에 관한 것입니다하지만 난 사용할 필요가있는 것처럼 느끼게하지 않았다 같은 문제

많은 다른 활동을 onConfigurationChanged 라이프 사이클 방법이지만 어떤 해결책이라도 환영합니다! 나는 13 세 이상

android:configChanges="keyboardHidden|orientation|screenSize" 
android:screenOrientation="fullSensor" 

이가 각 활동에 대한 작업을 수행 할 수 있습니다 안드로이드 API 레벨에 대한 추가 매개 변수 screenSize과 함께 사용하는 것처럼

+0

AsyncTask 또는 UI가 아닌 스레드에서 대화 상자를 표시 하시겠습니까? –

+1

onPreExecute에서 http://blog.doityourselfandroid.com/2010/11/14/handling-progress-dialogs-and-screen-orientation-changes/ –

+0

@MehulJoisar을보고 onPostExecute를 닫으십시오. 모든 UI 스레드 작업,하지만 UI가 아닌 스레드가 실행되는 동안 회전이 발생합니다. – CQM

답변

1

대답은

android:configChanges="keyboardHidden|orientation" 
android:screenOrientation="fullSensor" 

을 사용하는 것입니다 대화 상자가 문제가 될 수있는 곳을 명시하십시오.

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 

} 
관련 문제