谷歌“Play商店”上有一个名为“屏幕过滤器”的应用,它设计用一些半透明的黑色覆盖整个屏幕,让屏幕比最低亮度更暗。
使用名为“显示系统级警报”的权限执行此操作。
允许我在我的应用中执行此操作的文档在哪里?
此“系统级警报”可以拦截触摸事件吗?这样我就可以让我的应用程序接管an Android that is supposed to stay in our building。
我喜欢这种方法,因为它可以防止手机在翻转之前被关闭(这会触发警报),除非涉及锤子。
答案 0 :(得分:10)
Manifest.Permission
的文档显示SYSTEM_ALERT_WINDOW
是您要查找的权限。您可以在Manifest
中声明此权限,然后在Dialog
或任何其他类型的Window
中设置此标记WindowManager.LayoutParams.TYPE_SYSTEM_ALERT
。所以对于Dialog
,它看起来像这样:
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
是的,它可以拦截触摸事件。系统警报,如低电量警告,总是在所有其他应用程序之上打开,所以无论你弹出的Window
都会关注等等。基于你想要做什么,我想你可以执行以下操作:弹出Dialog
(作为系统级警报),需要密码才能使其消失。