title: Can't remove overlay view
body: <p>Update</p>
  
  <p>I was able to fix this,
  The problem was dialogs and related could be initiated from broadcast receiver but not recommended,  as the activity running ends before the view.</p>
  
  <p>Trying to implement overlay like fb messenger, truecaller etc.</p>
  
  <pre><code>public class IncomingCall extends BroadcastReceiver
  {
  private Context pcontext;
  private static final String TAG = "CustomBroadcastReceiver";
   TelephonyManager telephony;
   CustomPhoneStateListener customPhoneListener ;
  @Override
  public void onReceive(Context context, Intent intent) 
  {
      pcontext = context;
      Bundle extras = intent.getExtras();
      if (extras != null) {
          String state = extras.getString(TelephonyManager.EXTRA_STATE);
          Log.w("DEBUG", state);
  
              telephony = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
              customPhoneListener = new   CustomPhoneStateListener();
              telephony.listen(customPhoneListener,   PhoneStateListener.LISTEN_CALL_STATE);
              Bundle bundle = intent.getExtras();
              String phoneNr= bundle.getString("incoming_number");
  
  
      }
  
  
  }
  public class CustomPhoneStateListener extends PhoneStateListener
  {
      private static final String TAG = "CustomPhoneStateListener";
      Handler handler=new Handler();
      @Override
      public void onCallStateChanged(int state, String incomingNumber) 
      {
  
          WindowManager wm = (WindowManager) pcontext.getSystemService(Context.WINDOW_SERVICE);
  
          WindowManager.LayoutParams params = new WindowManager.LayoutParams(
              LayoutParams.MATCH_PARENT,
              LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.TYPE_SYSTEM_ALERT |
              WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
              WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
              WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
              PixelFormat.TRANSPARENT);
  
          params.height = LayoutParams.MATCH_PARENT;
          params.width = LayoutParams.MATCH_PARENT;
          params.format = PixelFormat.TRANSLUCENT;
  
          params.gravity = Gravity.BOTTOM;
  
          RelativeLayout ly;
          final LayoutInflater inflater = (LayoutInflater) pcontext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
          ly = (RelativeLayout) inflater.inflate(R.layout.dialog, null);
  
          switch (state) 
          {
          case TelephonyManager.CALL_STATE_RINGING:
              Log.d("Call","RINGING");
  
              wm.addView(ly, params);
              break;
  
          case TelephonyManager.CALL_STATE_IDLE:
  
                  Log.d("Call","End");
                  //WindowManager wm = (WindowManager) pcontext.getSystemService(Context.WINDOW_SERVICE);
  
                  if(ly!=null)
                  {
                      wm.removeView(ly);
                      ly = null;
                  }
              break;
          default:
              break;
          }
          super.onCallStateChanged(state, incomingNumber);
          telephony.listen(customPhoneListener, PhoneStateListener.LISTEN_NONE);
      }
  
  
  }       
  }
  </code></pre>
  
  <p>The addView works fine,
  Here is the log</p>
  
  <p>"View not attached to window manager"</p>
  
  <pre><code>08-24 20:05:56.404: W/DEBUG(28001): IDLE
  08-24 20:05:56.424: D/Call(28001): End
  08-24 20:05:56.424: D/AndroidRuntime(28001): Shutting down VM
  08-24 20:05:56.424: W/dalvikvm(28001): threadid=1: thread exiting with uncaught exception (group=0x412982a0)
  08-24 20:05:56.444: E/AndroidRuntime(28001): FATAL EXCEPTION: main
  08-24 20:05:56.444: E/AndroidRuntime(28001): java.lang.IllegalArgumentException: View not attached to window manager
  08-24 20:05:56.444: E/AndroidRuntime(28001):    at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:673)
  08-24 20:05:56.444: E/AndroidRuntime(28001):    at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:369)
  08-24 20:05:56.444: E/AndroidRuntime(28001):    at android.view.WindowManagerImpl$CompatModeWrapper.removeView(WindowManagerImpl.java:160)
  08-24 20:05:56.444: E/AndroidRuntime(28001):    at com.androidexample.broadcastreceiver.IncomingCall$CustomPhoneStateListener.onCallStateChanged(IncomingCall.java:105)
  08-24 20:05:56.444: E/AndroidRuntime(28001):    at android.telephony.PhoneStateListener$2.handleMessage(PhoneStateListener.java:393)
  08-24 20:05:56.444: E/AndroidRuntime(28001):    at android.os.Handler.dispatchMessage(Handler.java:99)
  08-24 20:05:56.444: E/AndroidRuntime(28001):    at android.os.Looper.loop(Looper.java:137)
  08-24 20:05:56.444: E/AndroidRuntime(28001):    at android.app.ActivityThread.main(ActivityThread.java:4898)
  08-24 20:05:56.444: E/AndroidRuntime(28001):    at java.lang.reflect.Method.invokeNative(Native Method)
  08-24 20:05:56.444: E/AndroidRuntime(28001):    at java.lang.reflect.Method.invoke(Method.java:511)
  08-24 20:05:56.444: E/AndroidRuntime(28001):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
  08-24 20:05:56.444: E/AndroidRuntime(28001):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
  08-24 20:05:56.444: E/AndroidRuntime(28001):    at dalvik.system.NativeStart.main(Native Method)
  08-24 20:08:22.669: I/Process(28001): Sending signal. PID: 28001 SIG: 9
  </code></pre>
  
  <p>I had tried creating the layout programmaticaly too..
  but no luck</p>
  
  <p>Also can't figure out the id of the generated layout</p>