android - Android:SYSTEM_ALERT_WINDOW 权限保护级别
问题描述
public static final String SYSTEM_ALERT_WINDOW
允许应用使用类型创建窗口WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY
,显示在所有其他应用之上。很少有应用程序应该使用此权限;这些窗口旨在与用户进行系统级交互。
注意:如果应用针对 API 级别 23 或更高级别,应用用户必须通过权限管理屏幕明确授予应用此权限。该应用程序通过发送带有 action 的意图来请求用户的批准Settings.ACTION_MANAGE_OVERLAY_PERMISSION
。应用可以通过调用 Settings.canDrawOverlays() 来检查它是否有这个权限。
保护级别:签名|预装|appop|pre23|开发
常量值:“android.permission.SYSTEM_ALERT_WINDOW”
https://developer.android.com/reference/android/Manifest.permission.html#SYSTEM_ALERT_WINDOW
保护级别:签名|预装|appop|pre23|开发
1)SYSTEM_ALERT_WINDOW的保护级别是签名,但是权限被授予使用不同证书签名的普通应用程序。是否因为用户明确授予它,签名在这里变得无效?
2) android 中的|preinstalled|appop|pre23|development 保护级别是什么?
谢谢
解决方案
预装意味着系统应用程序,从 API 级别 23 保护级别系统开始被弃用,预装和特权占据前列。如果您的应用程序是预安装的,它将能够行使此权限。如果您的应用程序具有平台签名,则可以,或者您的应用程序具有系统可以识别的证书
推荐阅读
- sql - 如何在雪花中使用字符串连接数组
- linux - 如何找到ubertooth设备号与USB路径和端口的映射关系?
- graphql - GraphQLError:只能有一个名为的片段
- python - 无法访问熊猫
- python - 使用 BeautifulSoup 从具有不同类的多个跨度中提取文本
- html - HTML\CSS\style:隐藏一个 HTML 容器及其 HTML 子控件
- kotlin - Libgdx 自定义 Actor 未触发 clicked 和 touchDown 事件
- swift - NSPersistentCloudKitContainer 完成同步时如何获得通知?
- javascript - 无法在vue js中的@click方法上传递spring模型值
- imagemagick - 替换矩形区域中的颜色