启动全屏应用程序时如何隐藏系统覆盖窗口?

时间:2012-03-02 06:30:12

标签: android

我希望我的应用能够显示永久可见的视图(如状态栏),无论用户使用哪个应用,除了游戏等全屏应用。

到目前为止,我的应用程序启动了一项服务,该服务使视图膨胀并将其作为TYPE_SYSTEM_OVERLAY添加到WindowManager,如here所述。

我遇到的问题是,当我启动全屏应用程序(画廊,愤怒的小鸟等)时,我的叠加层仍然存在。如何检测何时启动全屏应用程序或何时隐藏状态栏以便将其删除?

2 个答案:

答案 0 :(得分:1)

第三方应用不支持此功能,抱歉。

答案 1 :(得分:1)

在您的服务中,创建一个计时器,该计时器不断测量其膨胀的视图的高度。如果视图的高度增加25dip,则可能意味着状态栏消失,手机现在处于全屏模式。如果发生这种情况,您可以将叠加视图的可见性设置为GONE。

显然,查看视图高度是一种破解,但这可能是唯一的方法。