In my service I add a view to WindowManager
with addView()
. When I'm ready to hide the view, I call removeView()
using the View
reference. This works great -- most of the time.
I have occasional Force Close reports that say that the View is not attached to the WindowManager
. This makes sense. The problem is that I think the service is getting killed by Android, and when it is time to hide the view, it attempts to removeView on the wrong View
.
I have tried checking for the View to be null, but apparently it isn't at this point, it simply isn't the one attached to the WindowManager
. It seems that if the View reference is lost, there is no way to gain access to it again.
How can I get the equivalent of findViewById()
on the WindowManager
itself? Is the View
automatically removed from WindowManager
if my service is stopped (killed)? Is there a way I can store the reference to the View
so that if the service is stopped I can still remove the View
later (I'm also trying to avoid leaking the View
)?