我试图弄清楚滑动键盘(https://market.android.com/details?id=mobi.conduction.swipepad.android)之类的应用程序如何能够挂钩访客,无论窗口/应用程序位于顶部,以及它如何在不停止其下方的后台应用程序的情况下绘制和交互。< / p>
我已经能够创建对话框和弹出窗口等应用程序,但我无法在不停止/冻结后台应用程序的情况下显示它们。
更新:找到合适的解决方案。
在您的服务中onCreate添加此
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL|WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.setTitle("title");
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
wm.addView(layout, params);
触摸事件的处理方式与常规一样,除非您不接触服务gui的元素,然后服务不会读取触摸并将其删除到底层程序
答案 0 :(得分:0)
使用WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH和此question的解决方案的组合,我能够在不冻结应用程序背景的情况下执行您要执行的操作。
不要忘记包含uses-permission标记'android.permission.SYSTEM_ALERT_WINDOW'。