0

I get a crash report every few weeks about a java.lang.IllegalArgumentException and I really don't know where to start looking. I have never had the app crash while testing it as far as I can tell the app gets opened around 300 times a week so the crash doesn't happen very often but I would still like to fix it. It says its on a dialog dismissal but I have multiple dialogs in the app. Can any one tell me more about what this crash report means and also how you arrived at your conclusion?

    java.lang.IllegalArgumentException: View not attached to window manager
at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:402)
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:304)
at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:79)
at android.app.Dialog.dismissDialog(Dialog.java:325)
at android.app.Dialog$1.run(Dialog.java:120)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5293)
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:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(Native Method)
4

1 回答 1

1

迟到的答案,但它可能会帮助某人。

    @Override
protected void onPause() {
    closeDialog();
    super.onPause();
}

private void closeDialog(){
    if(progressDialog != null && progressDialog.isShowing()){
        try{
            progressDialog.dismiss();
        } catch (IllegalArgumentException e){
            // do nothing
        }
    }
}
于 2013-12-05T23:40:22.370 回答