谷歌“Play商店”上有一个名为“屏幕过滤器”的应用程序,它设计用一些半透明的黑色覆盖整个屏幕,使屏幕比最小亮度更暗.
它使用称为“显示系统级警报”的权限执行此操作.
>允许我在我的应用程序中执行此操作的文档在哪里?
>这种“系统级警报”可以拦截触摸事件吗?这样我就可以让我的应用程序接管an Android that is supposed to stay in our building.
解决方法
> Docs for Manifest.Permission显示
SYSTEM_ALERT_WINDOW
是您正在寻找的权限.您可以在Manifest中声明此权限,然后在Dialog或任何其他类型的Window中设置此标志WindowManager.LayoutParams.TYPE_SYSTEM_ALERT.所以对于一个Dialog,它看起来像这样:
.dialog.getWindow()的setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);>是的,它将能够拦截触摸事件.系统警报,如低电量警告,总是在所有其他应用程序之上打开,所以无论你弹出什么窗口都会关注等等.基于你想要做什么,我想你可以做类似的事情:弹出一个Dialog(作为系统级警报),需要一个密码才能让它消失.