title: View not attached to window manager crash
body: <p>I am using ACRA to report app crashes. I was getting a <code>View not attached to window manager</code> error message and thought I had fixed it by wrapping the <code>pDialog.dismiss();</code> in an if statement:</p>
  
  <pre><code>if (pDialog!=null) 
  {
      if (pDialog.isShowing()) 
      {
          pDialog.dismiss();   
      }
  }
  </code></pre>
  
  <p>It has reduced the amount of <code>View not attached to window manager</code> crashes I recieve, but I am still getting some and I am not sure how to solve it.</p>
  
  <p>Error message:</p>
  
  <pre><code>java.lang.IllegalArgumentException: View not attached to window manager
  at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:425)
  at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:327)
  at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:83)
  at android.app.Dialog.dismissDialog(Dialog.java:330)
  at android.app.Dialog.dismiss(Dialog.java:312)
  at com.package.class$LoadAllProducts.onPostExecute(class.java:624)
  at com.package.class$LoadAllProducts.onPostExecute(class.java:1)
  at android.os.AsyncTask.finish(AsyncTask.java:631)
  at android.os.AsyncTask.access$600(AsyncTask.java:177)
  at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:176)
  at android.app.ActivityThread.main(ActivityThread.java:5419)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:525)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
  at dalvik.system.NativeStart.main(Native Method)
  </code></pre>
  
  <p>Code snippet:</p>
  
  <pre><code>class LoadAllProducts extends AsyncTask&lt;String, String, String&gt; 
  {
  
      /**
       * Before starting background thread Show Progress Dialog
       * */
      @Override
      protected void onPreExecute() 
      {
          super.onPreExecute();
          pDialog = new ProgressDialog(CLASS.this);
          pDialog.setMessage("Loading. Please wait...");
          pDialog.setIndeterminate(false);
          pDialog.setCancelable(false);
          pDialog.show();
      }
  
      /**
       * getting All products from url
       * */
      protected String doInBackground(String... args) 
      {
          // Building Parameters
          doMoreStuff("internet");
          return null;
      }
  
  
      /**
       * After completing background task Dismiss the progress dialog
       * **/
      protected void onPostExecute(String file_url) 
      {
           // dismiss the dialog after getting all products
           if (pDialog!=null) 
           {
                  if (pDialog.isShowing()) 
                  {
                      pDialog.dismiss();   //This is line 624!    
                  }
           }
           something(note);
      }
  }
  </code></pre>
  
  <p>Manifest:</p>
  
  <pre><code>    &lt;activity
          android:name="pagename.CLASS" 
          android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout"            
          android:label="@string/name" &gt;
      &lt;/activity&gt;
  </code></pre>
  
  <p>What am I missing to stop this crash from happening?</p>