我有一个在窗口管理器上显示浮动视图的服务(使用 WINDOW_TYPE_ALERT 权限)。我能够显示它并执行操作。但是,我有两个具体问题:
- 关于浮动视图的实现
- 如何收听系统后退按钮事件以便我可以关闭视图。
执行:
在清单中,我添加了以下权限:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
我有一个广播接收器,它将监听警报事件。收到事件后,我将启动一项服务来显示浮动视图。以下是我用来创建视图的代码。
LayoutParams layOutParams = new WindowManager.LayoutParams(
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
每当用户对视图执行任何操作时,我都会从窗口管理器中删除视图并终止服务。
我想知道的是-如果这是解决问题的正确方法还是有更好的方法来解决?而且,我应该对 LayoutParams 进行更改还是保持原样?
其次,当有 SYSTEM BACK/HARDWARE BACK 按钮按下事件时,我还想关闭这个浮动视图。有关如何执行此操作的任何指示都会有所帮助。
附上浮动视图的屏幕截图以便更好地理解: