Google“Play Store”上有一个名为“Screen Filter”的应用程序,旨在用一些半透明的黑色覆盖整个屏幕,让屏幕比最低亮度更暗。
它使用称为“显示系统级警报”的权限执行此操作。
允许我在我的应用中执行此操作的文档在哪里?
这个“系统级警报”可以拦截触摸事件吗?这样我就可以让我的应用程序接管 an Android that is supposed to stay in our building .
我喜欢这种方法,因为它可以防止手机在翻转之前关闭(这会触发警报),除非涉及锤子。
最佳答案
Manifest.Permission
的文档显示SYSTEM_ALERT_WINDOW
是您正在寻找的许可。您可以在Manifest
中声明此权限,然后在Dialog
或任何其他类型的Window
中设置此标志WindowManager。 LayoutParams.TYPE_SYSTEM_ALERT
。所以对于Dialog
它看起来像这样:dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
是的,它将能够拦截触摸事件。系统警报,如低电量警告,始终在所有其他应用程序之上打开,因此无论弹出什么
Window
都会获得焦点,等等。根据你想用它做什么,我会想象一下,您可以执行如下操作:弹出一个Dialog
(作为系统级警报),需要输入密码才能使其消失。
关于Android:系统工具:显示系统级警报:如何使用此权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9592178/