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://www.pswp.cn/bicheng/98068.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/98068.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/98068.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AR 巡檢在工業的應用|阿法龍XR云平臺

AR 巡檢的應用覆蓋電力、石油化工、智能制造、軌道交通、冶金等對設備可靠性和安全性要求極高的行業,具體場景包括:電力行業變電站內設備的狀態檢查:通過 AR 眼鏡掃描設備,實時顯示設備額定參數、歷史故障記錄、實時傳感器數據&am…

【C++】STL詳解(七)—stack和queue的介紹及使用

? 堅持用 清晰易懂的圖解 代碼語言, 讓每個知識點都 簡單直觀 ! 🚀 個人主頁 :不呆頭 CSDN 🌱 代碼倉庫 :不呆頭 Gitee 📌 專欄系列 : 📖 《C語言》🧩 《…

深度學習周報(9.8~9.14)

目錄 摘要 Abstract 1 LSTM相關網絡總結與對比 1.1 理論總結 1.2 代碼運行對比 2 量子計算入門 3 總結 摘要 本周首先總結了LSTM、Bi-LSTM與GRU的區別與優缺點,對比了三者實戰的代碼與效果,還另外拓展了一些循環神經網絡變體(包括窺視…

Quat 四元數庫使用教程:應用場景概述

基礎概念 四元數是一個包含四個元素的數組 [x, y, z, w],其中 x,y,z表示虛部,w 表示實部。單位四元數常用于表示3D空間中的旋轉。 1. 創建和初始化函數 create() - 創建單位四元數 應用場景:初始化一個新的四元數對象,通常作為其他…

【Java后端】Spring Boot 多模塊項目實戰:從零搭建父工程與子模塊

如何用 Spring Boot 搭建一個父工程 (Parent Project),并在其中包含多個子模塊 (Module),適合企業級項目或者需要分模塊管理的場景。Spring Boot 多模塊項目實戰:從零搭建父工程與子模塊在日常開發中,我們經常會遇到這樣的需求&am…

企業級AI會議系統技術實現:快鷺如何用AI重構會議全流程

摘要 本文深度解析快鷺AI會議系統的核心技術架構,重點探討其在語音識別、自然語言處理、數據集成和安全防護等方面的技術實現。通過對比傳統會議系統的技術痛點,分析快鷺AI如何通過技術創新實現會議籌備時間減少67%、數據調取速度提升100倍的顯著效果。…

【CSS學習筆記3】css特性

1css三大特性 1.1層疊性:就近原則,最新定義的樣式 1.2繼承性:子標簽集成父標簽的樣式,如文本和字號 行高的繼承:不加單位指的是當前文字大小的倍數 body {font: 12px/1.5 Microsoft YaHei;color: #be1313;} div {…

[C語言]常見排序算法①

1.排序的概念及常見的排序算法排序在咱們日常生活中十分的常見,就好比是網上購物的時候通常能夠選擇按照什么排序,比如價格、評論數量、銷量等。那么接下來咱們就來了解一些關于排序的概念。排序:所謂排序,就是使一串記錄&#xf…

文獻閱讀筆記:RS電子戰測試與測量技術文檔

信息來源:羅德與施瓦茨(Rohde & Schwarz)公司關于電子戰(Electronic Warfare, EW)測試與測量解決方案專業技術文檔。 該文檔由臺灣地區應用工程師Mike Wu撰寫,核心圍繞電子戰基礎、雷達系統、實戰應用及…

別再糾結 Postman 和 Apifox 了!這款開源神器讓 API 測試更簡單

別再糾結 Postman 和 Apifox 了!這款開源神器讓 API 測試更簡單🔥 作為一名開發者,你是否還在為選擇 API 測試工具而糾結?Postman 太重、Apifox 要聯網、付費功能限制多?今天給大家推薦一款完全免費的開源替代方案 ——…

微調神器LLaMA-Factory官方保姆級教程來了,從環境搭建到模型訓練評估全覆蓋

1. 項目背景 開源大模型如LLaMA,Qwen,Baichuan等主要都是使用通用數據進行訓練而來,其對于不同下游的使用場景和垂直領域的效果有待進一步提升,衍生出了微調訓練相關的需求,包含預訓練(pt)&…

創建其他服務器賬號

? 在 /home74 下創建新用戶的完整步驟1. 創建用戶并指定 home 目錄和 shellsudo useradd -m -d /home74/USERNAME -s /bin/bash USERNAME-m:自動創建目錄并復制 /etc/skel 默認配置文件(.bashrc 等)。-d:指定用戶 home 路徑&…

【WebGIS】Vue3使用 VueLeaflet + 天地圖 搭建地圖可視化平臺(基礎用法)

初始化 創建項目 nodejs 18.0.6npm 9.5.1 引入地圖服務 VueLeaflet GitHub - vue-leaflet/vue-leaflet: vue-leaflet 與 vue3 兼容 Vue Leaflet (vue2-leaflet) package.josn安裝版本 直接添加四個依賴 {// ..."scripts": {// ...},"depen…

OpenCV 開發 -- 圖像閾值處理

文章目錄[toc]1 基本概念2 簡單閾值處理cv2.threshold3 自適應閾值處理cv2.adaptiveThreshold更多精彩內容👉內容導航 👈👉OpenCV開發 👈1 基本概念 圖像閾值處理(Thresholding)是圖像處理中的一種基本技術…

單串口服務器-工業級串口聯網解決方案

在工業自動化、智能電網、環境監測等領域,傳統串口設備(如PLC、傳感器、儀表等)的網絡化升級需求日益增長。博為智能單串口服務器憑借高性能硬件架構、多協議支持和工業級可靠性,為RS485設備提供穩定、高效的TCP/IP網絡接入能力&a…

第 9 篇:深入淺出學 Java 語言(JDK8 版)—— 吃透泛型機制,筑牢 Java 類型安全防線

簡介:聚焦 Java 泛型這一“類型安全保障”核心技術,從泛型解決的核心痛點(非泛型代碼的運行時類型錯誤、強制類型轉換冗余)切入,詳解泛型的本質(參數化類型)、核心用法(泛型類/接口/…

MySQL和Redis的數據一致性問題與業界常見解法

一、為什么會出現數據不一致? 根本原因在于:這是一個涉及兩個獨立存儲系統的數據更新操作,它無法被包裝成一個原子操作(分布式事務)。更新數據庫和更新緩存是兩個獨立的步驟,無論在代碼中如何排列這兩個步驟…

coolshell文章閱讀摘抄

coolshell文章閱讀摘抄打好基礎學好英語限制你的不是其它人,也不是環境,而是自己Java打好基礎 程序語言:語言的原理,類庫的實現,編程技術(并發、異步等),編程范式,設計模…

數據庫造神計劃第六天---增刪改查(CRUD)(2)

🔥個人主頁:尋星探路 🎬作者簡介:Java研發方向學習者 📖個人專欄:《從青銅到王者,就差這講數據結構!!!》、 《JAVA(SE)----如此簡單&a…

使用Rust實現服務配置/注冊中心

Conreg 使用 Rust 實現的配置與注冊中心,參考了 Nacos 的設計,簡單易用,使用 Raft 保證集群節點數據一致性。 支持的平臺: UbuntuCentOS其他常見的 Linux 發行版(我們使用 musl 編譯,理論上支持所有主流…