我有一个服务,可以像Facebook Messenger一样创建系统覆盖窗口(总是在顶部)。当任何应用程序处于全屏模式时,我需要隐藏我的窗口。但是,我不知道如何从服务中检测到它。
这就是我在服务中添加视图的方式:
WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
windowManager.addView(myView, params);
答案 0 :(得分:0)
我前一段时间遇到过同样的问题(参见:Receiving hidden status bar/entering a full screen activity event on a Service)。 我通过向窗口管理器添加一个视图并控制该视图的y位置以检查状态栏是否可见来解决它。