Android:系统工具:显示系统级警报:如何使用此权限?

时间:2012-03-06 21:24:50

标签: android permissions

谷歌“Play商店”上有一个名为“屏幕过滤器”的应用,它设计用一些半透明的黑色覆盖整个屏幕,让屏幕比最低亮度更暗。

使用名为“显示系统级警报”的权限执行此操作。

  1. 允许我在我的应用中执行此操作的文档在哪里?

  2. 此“系统级警报”可以拦截触摸事件吗?这样我就可以让我的应用程序接管an Android that is supposed to stay in our building

  3. 我喜欢这种方法,因为它可以防止手机在翻转之前被关闭(这会触发警报),除非涉及锤子。

1 个答案:

答案 0 :(得分:10)

  1. Manifest.Permission的文档显示SYSTEM_ALERT_WINDOW是您要查找的权限。您可以在Manifest中声明此权限,然后在Dialog或任何其他类型的Window中设置此标记WindowManager.LayoutParams.TYPE_SYSTEM_ALERT。所以对于Dialog,它看起来像这样:

    dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);

  2. 是的,它可以拦截触摸事件。系统警报,如低电量警告,总是在所有其他应用程序之上打开,所以无论你弹出的Window都会关注等等。基于你想要做什么,我想你可以执行以下操作:弹出Dialog(作为系统级警报),需要密码才能使其消失。