删除Android系统重叠活动

时间:2016-06-29 09:58:48

标签: java android user-interface window overlay

我有一个我已设置为系统覆盖的活动。我能够显示它,但我似乎无法在我想要的时候弄清楚它(通过按钮)。

系统覆盖图显示在Activity的onCreate()方法中,如下所示:

    final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
            WindowManager.LayoutParams.MATCH_PARENT,
            WindowManager.LayoutParams.MATCH_PARENT,
            WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
            WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
            PixelFormat.OPAQUE);
    WindowManager wm = (WindowManager)getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
    View mTopView = (ViewGroup) getLayoutInflater().inflate(R.layout.overlay, null);
    getWindow().setAttributes(params);
    wm.addView(mTopView, params);

我在Activity的布局XML文件中有一个按钮,其中有一个onClick调用方法doOk(View v),它执行以下操作:

    WindowManager wm = (WindowManager)getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
    wm.removeView(v);

然而,当我点击OK时,我得到一个致命的异常" java.lang.IllegalStateException:无法执行活动的方法"和" java.lang.IllegalArgumentException:视图未附加到窗口管理器"

如何删除系统叠加活动?

0 个答案:

没有答案