【发布时间】:2016-03-04 23:30:52
【问题描述】:
我正在制作一个 MDM 应用程序,我必须在其中阻止所有屏幕截图 设备中的应用程序。我知道使用
getWindow().setFlags(LayoutParams.FLAG_SECURE,LayoutParams.FLAG_SECURE)
我可以在我的应用活动中禁用屏幕截图,但我想 在安装到设备中的所有应用程序中禁用屏幕捕获。之前 我正在使用文件观察器来阻止屏幕捕获,它正在检测是否 任何图像已添加到 Screenshot 文件夹,它正在删除该 图片。但是从 Android M 开始,他们不允许文件观察者。一世 进行了很多搜索,但没有得到任何解决方案。但是很多安卓应用 就像快速愈合的 seqrite MDM 正在阻止 android 中的屏幕捕获 M也是,所以一定有办法。
我找到了 api setScreenCaptureDisabled 在可以禁用屏幕捕获的 DevicePolicyManger 类中,但它 只能由设备所有者应用调用。
如果有人知道阻止屏幕捕获的方法,请帮助我。
【问题讨论】:
-
Seqrite 请求在用户的移动设备中为其应用程序激活设备管理员模式;请参阅第 38 页bitcast-b.bitgravity.com/quickheal/seqrite/documents/en/manuals/…
-
我的应用程序也请求设备管理员模式,但设备/配置文件所有者可以调用 DevicePolicyManger 类的 setScreenCaptureDisabled。我在stackoverflow.com/questions/21183328/… 看到了如何让我的应用程序设备所有者。但这不是我的应用的解决方案。
-
我已经在我的应用程序中使用了设备管理 API 策略。它没有屏幕截图阻止策略。
-
尝试从这些测试代码中获得一些想法:android.googlesource.com/platform/cts/+/17aafef/hostsidetests/…,然后在此处应用屏幕截图禁用检查android.googlesource.com/platform/cts/+/17aafef/hostsidetests/…
标签: android screenshot mdm