我的活动会在点击按钮时创建系统覆盖视图。我希望这个视图在其他所有内容中都可见,直到我在活动中点击另一个按钮关闭它。
问题是,如果我打开其他几个应用程序,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);
答案 0 :(得分:1)
使用服务创建系统覆盖视图。
不是IntentService,只是扩展服务。 即使应用程序返回" START_STICKY"
,也可以使其工作