如何避免系统覆盖视图被关闭

时间:2014-07-09 08:11:28

标签: android

我的活动会在点击按钮时创建系统覆盖视图。我希望这个视图在其他所有内容中都可见,直到我在活动中点击另一个按钮关闭它。

问题是,如果我打开其他几个应用程序,Android会在几秒钟内自动杀死该视图。我知道这是Android管理其资源的预期行为。但有没有办法告诉Android不要关闭这个视图?我尝试在IntentService中创建叠加层,但它没有任何区别。

查看创建代码:

mFrameLayout = new FrameLayout(mContext);
mFrameLayout.setBackgroundColor(mContext.getResources().getColor(R.color.black));
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
        WindowManager.LayoutParams.MATCH_PARENT,
        WindowManager.LayoutParams.MATCH_PARENT,
        WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
        WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
        PixelFormat.TRANSLUCENT
        );
WindowManager windowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
windowManager.addView(mFrameLayout, params);

1 个答案:

答案 0 :(得分:1)

使用服务创建系统覆盖视图。

不是IntentService,只是扩展服务。 即使应用程序返回" START_STICKY"

,也可以使其工作