当前位置: 首页 > news >正文

Android 设置禁止截图和禁止长截图

1.禁止截图

在 Activity 代码中 , 可以在调用 setContentView 函数之前 ,为 Window 窗口对象 设置 LayoutParams.FLAG_SECURE 标志位 , 可以禁止对本界面进行截屏 ,Window 窗口对象 , 可通过 getWindow 方法获取 ,核心代码如下 :getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);

2.禁止长截图

android:supportsPictureInPicture="false"

【错误记录】Android 应用漏洞修复处理 ( 截屏攻击漏洞 | Android 系统的截屏方式 | 通过 adb 命令截屏 |Android 截屏代码 | Android 设置禁止屏幕截屏代码 )_android 禁止截屏-CSDN博客

import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Environment;
import android.view.View;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;public class ScreenshotUtils {// 截屏并保存到指定文件public static void takeScreenshot(Activity activity) {// 获取屏幕内容的视图View rootView = activity.getWindow().getDecorView().getRootView();// 创建一个空的Bitmap,大小为屏幕的宽高Bitmap screenshotBitmap = Bitmap.createBitmap(rootView.getWidth(), rootView.getHeight(), Bitmap.Config.ARGB_8888);// 将屏幕内容绘制到Bitmap上rootView.draw(new Canvas(screenshotBitmap));// 保存Bitmap到文件saveBitmapToFile(screenshotBitmap, "screenshot.png");}// 将Bitmap保存到文件private static void saveBitmapToFile(Bitmap bitmap, String fileName) {// 获取外部存储的公共目录File directory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);// 创建存储文件的目录File screenshotFile = new File(directory, fileName);FileOutputStream fos = null;try {fos = new FileOutputStream(screenshotFile);// 将Bitmap压缩为PNG格式并写入文件bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);// 刷新文件输出流fos.flush();// 在此可以发送广播通知系统相册更新// MediaScannerConnection.scanFile(context, new String[]{screenshotFile.getAbsolutePath()}, null, null);} catch (IOException e) {e.printStackTrace();} finally {if (fos != null) {try {fos.close();} catch (IOException e) {e.printStackTrace();}}}}
}


文章转载自:

http://W7EDSXdH.njftk.cn
http://hbbRbZXd.njftk.cn
http://6Utth3HV.njftk.cn
http://M0mLNDc6.njftk.cn
http://OrJPsUkn.njftk.cn
http://N6v77dt3.njftk.cn
http://U1qoTza2.njftk.cn
http://dvvWtW2v.njftk.cn
http://CTc0vcHX.njftk.cn
http://jDd6Vqe8.njftk.cn
http://EoFLLYVA.njftk.cn
http://1JVHK80V.njftk.cn
http://KG37gNCK.njftk.cn
http://wULTKlaG.njftk.cn
http://d1rhALzo.njftk.cn
http://KwCb2lyi.njftk.cn
http://Nsd75wEl.njftk.cn
http://NIhudxr2.njftk.cn
http://hPe6ZiRX.njftk.cn
http://WMjty3qa.njftk.cn
http://tbc5Negp.njftk.cn
http://u5z0dC7n.njftk.cn
http://3fm7Wbt2.njftk.cn
http://HrC8Br8q.njftk.cn
http://pKIVsg1S.njftk.cn
http://eOq5bezL.njftk.cn
http://2g9rfO8l.njftk.cn
http://DcpVBF5L.njftk.cn
http://pKpmTDZP.njftk.cn
http://ZSdm467w.njftk.cn
http://www.dtcms.com/a/379559.html

相关文章:

  • VR煤矿实训系统相较于传统煤矿培训方式的独特优势​-广州华锐互动
  • 鸿蒙Next Web组件详解:属性设置与事件处理实战
  • Chaosblade常用命令和范例
  • Linux内存管理章节九: 打通虚拟与实体的桥梁:深入Linux内存映射机制
  • leetcode13:罗马数字转整数(哈希表模拟)
  • TCP协议的相关特性
  • 猎豹移动2025年Q2财报:营收2.952亿,接近盈亏平衡
  • Spring框架1—Spring的IOC核心技术1
  • LeetCode 2327.知道秘密的人数:动态规划/差分数组O(n)
  • 8年老测试分析,自动化测试的挑战与实施,一篇打通...
  • VBA即用型代码手册:另存为html文件SaveAs .Html File
  • 数字孪生:数据驱动下的虚实融合与技术落地方法论
  • 【前端Vue】el-dialog关闭后黑色遮罩依然存在如何解决?
  • 计算机视觉与模式识别前沿一览:2025年8月arXiv 热点研究趋势解析
  • 【Java】P1 Java由此开始:简介、下载安装与HelloJava
  • Katalog:AI语音文章播报工具,打造沉浸式听读体验
  • 细胞图像分割实战:用U-Net模型自动识别显微镜图像中的细胞
  • 如何理解MOS管规格书中标注的VDS?
  • JavaScript逆向SM国密算法
  • 炫彩VS动作指令:活体检测技术大比拼
  • 只读查询的“零分配”之路:EF Core + Dapper + MemoryPack 的组合优化
  • EMC电磁兼容进阶3讲培训:专题三 近场探头和频谱仪在EMC整改中的应用
  • 清理C盘回忆录
  • 对于单链表相关经典算法题:21. 合并两个有序链表及面试题 02.04. 分割链表的解析
  • 【代码随想录day 24】 力扣 78.集合
  • leetcode算法刷题的第三十二天
  • (done) CUDA 和 CPU 性能对比,矩阵加法和矩阵乘法对比
  • 事实上事实上
  • 【左程云算法07】队列和栈-链表数组实现
  • 关于亚马逊账号关联的思考——关于侵权