Android studio 在后台服务中隐藏导航栏-android

Android studio 在后台服务中隐藏导航栏-android,android-studio,navigationbar,Android Studio,Navigationbar,我有一个应用程序,它在所有其他正在运行的应用程序(基本上是一个作为后台服务运行的过滤器)上引入了一个半透明的视图。我面临的问题是,该应用程序没有在导航栏上应用过滤器(底部的导航栏上有back、home和recent tabs按钮) 我用于创建视图的标志显示在下面的代码中: WindowManager.LayoutParams params = new WindowManager.LayoutParams( WindowManager.LayoutParams.M

我有一个应用程序,它在所有其他正在运行的应用程序(基本上是一个作为后台服务运行的过滤器)上引入了一个半透明的视图。我面临的问题是,该应用程序没有在导航栏上应用过滤器(底部的导航栏上有back、home和recent tabs按钮)

我用于创建视图的标志显示在下面的代码中:

 WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
                0 | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
                PixelFormat.TRANSLUCENT);
        WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
        wm.addView(mView, params);
是否有任何特殊的旗帜或任何我需要覆盖导航栏的东西


在布局参数中添加Y偏移,以便覆盖在导航栏上

 WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.MATCH_PARENT,0, navbarHeight(),
                WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
                0 | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
                PixelFormat.TRANSLUCENT);
        WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
        wm.addView(mView, params);

private int navbarHeight() {
...code to calculate height of navbar
}

检查此链接可能对您有所帮助我引用了此链接,但没有任何用处。flag flag_LAYOUT_NO_LIMITS也不会覆盖导航栏上的视图。我正在为android M测试我的应用程序。请阅读完整文档