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

6
在Google的“Play Store”上有一个名为“Screen Filter”的应用程序,旨在使用一些半透明黑色覆盖整个屏幕,使屏幕变暗至低于最小亮度。
它使用了一个名为“显示系统级警报”的权限来实现这一点。
1. 允许我在我的应用程序中执行此操作的文档在哪里? 2. 这个“系统级警报”能拦截触摸事件吗?这样我就可以接管一个应该留在我们大楼内的Android
我喜欢这种方法,因为它可以防止手机在翻转之前被关闭(这将触发警报),除非当然有锤子参与。
1个回答

10
  1. 文档中显示,Manifest.PermissionSYSTEM_ALERT_WINDOW 权限是您要寻找的权限。您需要在 Manifest 文件中声明此权限,并在 Dialog 或任何其他类型的 Window 中设置此标志 WindowManager.LayoutParams.TYPE_SYSTEM_ALERT。因此对于 Dialog,代码如下:

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

  2. 是的,它将能够拦截触摸事件。系统警报(如低电量警告)始终显示在所有其他应用程序之上,因此无论您弹出什么样的 Window,它都会获得焦点等。根据您想要做的事情,我想您可以这样做:弹出一个需要密码才能关闭的 Dialog(作为系统级别的警报)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接