android - 如何阻止我的应用内容来自具有“SYSTEM_ALERT_WINDOW”权限的应用
问题描述
我正在实施一个视频流应用程序并希望保护我使用过的内容
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
它停止截取应用程序的屏幕截图,但如果在我的应用程序用户听到内容之前开始录制应用程序
还有一些可以录制视频的应用程序。
我想阻止其他具有“ SYSTEM_ALERT_WINDOW ” 权限的应用程序捕获我的内容,所以我想知道该怎么做?
注意:MinSdk 为 21
解决方案
如果您在 android 4.4+ 上,您可以指定 MediaStore.EXTRA_OUTPUT
从 Android 4.4 开始,外部存储设备上文件的所有者、组和模式现在基于目录结构进行合成。这使应用程序能够在外部存储上管理其特定于包的目录,而无需拥有广泛的 WRITE_EXTERNAL_STORAGE 权限。例如,包名为 com.example.foo 的应用现在可以在没有权限的情况下自由访问外部存储设备上的 Android/data/com.example.foo/。这些合成权限是通过将原始存储设备包装在 FUSE 守护程序中来实现的。
推荐阅读
- apache - Httpd 服务未在 Alpine docker 映像中启动
- xml - 使用命名空间将 xslt 应用于 xml
- jakarta-mail - JavaMail:为 SSL 使用自定义 SSLSocketFactory
- python - 如何获得python执行的shell命令的最终输出
- python - 使用字符串值将分类行转换为列标题(无聚合)
- c# - .net + 使用 redissessionstateprovider + sessionstate 自定义模式在多个服务器上共享会话
- c - 为什么我的线程合并排序比基本递归合并排序慢?
- angular - 单击 routerLink 时,Angular 不会重新加载组件
- php - 为什么在 PHP 中禁用 E_WARNING 被认为是不好的做法?
- c++ - 在c ++中迭代包含指针的向量