Flutter工程禁止截屏

Flutter中禁止截屏

flutter开发过程中,有些项目安全策略要求比较高,比如不允许截屏的要求,代码简单,只要在工程目录的下android,在MainActivity的onCreate方法中添加如下代码:

if (!BuildConfig.DEBUG) {

//禁止截屏

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);

    //设置进入后台后,多任务列表显示app为空白页,安全策略之一

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);

}

最好是单独打开项目中的android工程,方便添加依赖关系;

我是在dubug模式下没有禁止,方便测试截屏,打release包时禁止;

ios没有很好的禁止截屏的方法,只能在给出提示应用截屏了,做法是在AppDelegate.m文件下添加如下代码:

 // 系统截屏通知

    [NSNotificationCenter.defaultCenter addObserver:self selector:@selector(notificationScreenshot:) name:UIApplicationUserDidTakeScreenshotNotification object:nil];

- (void)notificationScreenshot:(NSNotification*)notification{

    [[[UIAlertViewalloc]initWithTitle:nilmessage:@"截屏有风险,请谨慎操作~"delegate:nilcancelButtonTitle:@"知道了"otherButtonTitles:nil,nil]show];

}

示例截图:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容