ICS中的TYPE_SYSTEM_OVERLAY
在Honeycomb中,我能够使用TYPE_SYSTEM_OVERLAY创build一个系统覆盖,并通过FLAG_WATCH_OUTSIDE_TOUCH接收触摸。
现在ICS已经改变了一些东西。 我仍然可以创build系统覆盖,但我无法触及。
现在,我可以使用TYPE_SYSTEM_ALERT创build相同的代码,但是它只是捕获了touchevent,并不像Honeycomb那样传递它们。
有任何想法吗?
亲切的问候
你所描述的一切都是真的。 这大概是为了加强安全,因为前者的行为是劫掠攻击的来源。 我最近写了一篇关于这个改变的博客文章 。
有任何想法吗?
不要使用它们中的任何一个。
要创build叠加视图,在设置LayoutParams时不要将types设置为TYPE_SYSTEM_OVERLAY
。
相反,将其设置为TYPE_PHONE
。
使用以下标志:
FLAG_NOT_TOUCH_MODAL
FLAG_WATCH_OUTSIDE_TOUCH
FLAG_NOT_TOUCH_MODAL
<<我发现这个很重要。 没有它,重点是覆盖和软键(家庭,菜单等)按下不传递给下面的活动。