Android 4.4使用辅助功能服务& amp;隐藏导航栏/状态栏。服务

时间:2014-02-24 19:16:50

标签: android service accessibility statusbar navbar

我通过为我的应用程序集成辅助功能服务来实现一些功能。

我目前有一个可以检测TouchEvent的'系统覆盖'ImageView。但我已经看到它完成沉浸式模式,隐藏状态栏或导航栏是可能的,没有root。

我需要能够 访问我的触摸检测窗口的视图 才能处理任何辅助功能

我的辅助功能服务包含:

     ...
        @Override
        public void onServiceConnected() {
            serviceInstance = this;
        }
    ...

我的触摸探测器:

  ...
        WindowManager wm;
        private MyAccessibilityService myAccessibilityService;
        private ImageView mTouchDetector;

        @Override
        public void onCreate() {

            super.onCreate();

            myAccessibilityService = MyAccessibilityService.getSharedInstance();

    WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                    100,
                    100,
                    0, 0,
                    WindowManager.LayoutParams.TYPE_PHONE,
                    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, debugMode());
            params.gravity = Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM;
            wm = (WindowManager) getSystemService(WINDOW_SERVICE);
            wm.addView(mTouchDetector, params);
    }
...

1 个答案:

答案 0 :(得分:3)

我已经部分地解决了这个问题,但是在后退按钮上遇到了一些问题,请点击此处查看它是否得到解决。

正常创建服务,但将这些标志添加到叠加层:

到窗口管理器:

  

TYPE_PRIORITY_PHONE,FLAG_FULLSCREEN |   FLAG_NOT_TOUCH_MODAL

到视图:

  

int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
  FloatingView.setSystemUiVisibility(uiOptions);

<强> Android floating window with hidden statusbar Accessibility problems