首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在flutter应用中防止截图和屏幕录制

如何在flutter应用中防止截图和屏幕录制
EN

Stack Overflow用户
提问于 2021-02-24 20:42:43
回答 3查看 696关注 0票数 2

我想防止用户采取屏幕截图和屏幕录制,我试图添加本地代码的android和ios,它完美地工作,但对于ios它不工作。

EN

回答 3

Stack Overflow用户

发布于 2021-02-24 20:53:19

在MainActivity.java上添加行

代码语言:javascript
运行
复制
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
票数 0
EN

Stack Overflow用户

发布于 2021-02-24 21:07:18

在Flutter中,没有这样的公共API可以阻止你截图,这也是你在问题中提到的原生Android可以完美工作,但原生iOS不行的原因,因为iOS没有提供任何这样的公共API来限制用户截图。

尽管有一种方法可以通知你截图已经完成。你可以看看UIApplicationUserDidTakeScreenshotNotification,但是在截图之后,通知将会在上发布。

票数 0
EN

Stack Overflow用户

发布于 2021-02-24 21:08:00

最简单的方法是使用一个名为flutter_windowmanager的flutter包

代码语言:javascript
运行
复制
Future<void> secureScreen() async {
await FlutterWindowManager.addFlags(FlutterWindowManager.FLAG_SECURE); 
}

@override
 void initState() {
 secureScreen();
 super.initState();
}

如果你想禁用整个应用程序截图,只需在main.dart文件的main()函数中调用securescreen()方法(上面定义)即可。

注意:由于flutter_windowmanager只包装和公开了一个特定于安卓的底层界面,因此没有计划或可能提供iOS支持。对于那些对跨平台FLAG_SECURE功能感兴趣的人,已在第三方secure_application plugin中重新创建了此功能。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66351172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档