Android 9.0 系统禁用截屏和录屏功能

1.前言

 在9.0的系统rom产品开发中,在对于一些产品开发需求中,对系统截屏和录屏功能 要求去掉这些功能,不让用户截屏和录屏 保护
一个app的资源,所以就需要在系统中做限制不让截屏录屏,接下来具体实现相关功能

2.系统禁用截屏和录屏功能的核心类

    frameworks\native\services\surfaceflinger\Layer.cppframeworks\base\core\java\android\app\ActivityThread.java

3.系统禁用截屏和录屏功能的核心功能分析和实现

ActivityThread 是一个非常重要的组件,它的作用就像是 Android 应用程序的灵魂,它处理着应用程序和活动中的大部分工作,例如创建新的应用程序实例、加载和管理类、创建新的活动
ActivityThread是Android应用的主线程(UI线程),说起ActivityThread,不得不提到Activity的创建、启动过程以及ActivityManagerService

 在系统中可以在app中禁用录屏和截屏功能,同时也可以通过在系统源码中禁止截屏和录屏的功能,首先我们看下如何在app应用中禁止截屏录屏的的功能,app中禁止录屏和截屏功能的相关源码如下

            @Overrideprotected void onCreate(Bundle savedInstanceState) {getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);super.onCreate(savedInstanceState);setContentV

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/644348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ max和min函数详细使用指南

0. 前言 C 是一种强大而灵活的编程语言,具有丰富的标准库,其中包括了一系列实用的函数。其中,max 和 min 函数是处理数值的时候经常用到的工具。本文将深入探讨这两个函数的使用方法,以及它们在不同情景下的应用。 1. max 函数的…

ubuntu 20.04 使用 webrtc-streamer自动退出,报错GLIBC 问题解决方法

文章目录 前言Ubuntu 20.4中使用webrtc-streamer报错总结 前言 前端vue2 项目需要播放海康的视频流,本地启动起来了,现在需要的服务器上部署,服务器是Ubuntu 20.04,下面是部署时遇到的问题及解决方法,总耗时2天。 不知…

golang学习笔记——面试题 使用 3 个协程顺序打印 cat、dog、fish 各 100 次

文章目录 面试题 使用 3 个协程顺序打印 cat、dog、fish 各 100 次拓展第一种方法第二种方法 参考资料 面试题 使用 3 个协程顺序打印 cat、dog、fish 各 100 次 编程题:3个函数分别打印cat、dog、fish,要求每个函数都要起一个goroutine,按照…

算法训练营Day46(动态规划8之多重背包)

多重背包 关于 多重背包,力扣上没有相关的题目,所以今天的重点就是回顾一波 自己做的背包题目 本题力扣上没有原题,大家可以去卡码网第56题 (opens new window)去练习 简单介绍 有N种物品和一个容量为V 的背包。第i种物品最多有Mi件可用&…

【GitHub项目推荐--不错的 Java 开源项目】【转载】

1 基于 Java 的沙盒塔防游戏 Mindustry 是一款用 Java 编写的沙盒塔防游戏。玩家需要建造精密的传送带供应链,提供炮塔弹药,生产建筑材料,保护建筑并抵御敌人。也可以在跨平台多人合作游戏中与朋友一起战斗,或组队进行 PVP 比赛。…

多图合并二维码的制作方法,快速在线生成图片二维码

怎么将多张图合并用二维码展示呢?现在经常会通过扫码的方式来查看图片,选择这种方式不仅可以展现更多地内容,还能够减少图片对个人容量的占用,增加用户的交互性和娱乐性。那么如何使用二维码生成器来快速制作图片二维码呢&#xf…

openssl3.2 - 检查rsa证书和私钥是否匹配(快速手搓一个工具)

文章目录 openssl3.2 - 检查rsa证书和私钥是否匹配(快速手搓一个工具)概述效果笔记编程环境界面控件的设置增加文件拖拽的类RSA证书和key是否匹配的实现在程序中加入环境变量备注备注END openssl3.2 - 检查rsa证书和私钥是否匹配(快速手搓一个工具) 概述 在学习openssl官方的…

Python 变量?对象?引用?赋值?一个例子解释清楚

哈喽大家好,我是咸鱼。 前天有个小伙伴找到我,给了我一段 python 代码: a [1, 2] a[1] a print(a[1])然后问我为什么结果是 [1, [...]],我一看这个问题有意思,我说三言两语解释不清楚,我写篇文章到时候…

和硕拿下AI Pin代工大单公司 | 百能云芯

和硕公司近日成功中标AI Pin代工大单,AI Pin被认为是继iPhone之后的下一个划时代产品,吸引了全球科技圈的广泛关注。和硕公司对此表示,他们不会只专注于单一客户,而是期望在下半年有更多新品上市,为公司带来丰硕的业绩…

自定义注解使用案例,

后续会加上详细注释,或者出一个贴图详细的2.0版本,大家不要错过!我会详细教大家如何使用自定义注解开发!让你的代码瞬间高大上起来 Data public class ReportDateDTO {/*** 年*/ApiModelProperty(value "年", notes &…

C++ -- 入门(引用)

1.引用 1.1引用的概念 引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。 比如:李逵,在家称为"铁牛",江湖上人称&q…

CC工具箱使用指南:【平差工具】

一、简介 平差是一个摘自英文单词“adiustment”的中文翻译,它最初源于土地测量工程,并在后来广泛应用于各个测量领域在传统的测量中,由于各种误差的存在,例如仪器、人为、大地形态等因素,所得到的测量结果是不完全准…

MySQL基础(一)

学习数据库的目的: 实现数据持久化到本地。使用完整的管理系统统一管理,可以实现结构化查询,方便管理。 一、数据库概述 数据库(DataBase) 为了方便数据的存储和管理,它将数据按照特定的 规则存储在磁盘…

项目解决方案: 视频融合(实时监控视频和三维建模进行融合)设计方案

目 录 一、需求描述 1、视频接入和控制要求 2、视频播放需求 3、提供其他应用的调用 二、方案设计 (一)系统设计图 (二)产品实现方案 三、产品和功能描述 (一)总体描述 &#xf…

Java 数据结构集合

文章目录 Java 数据结构1. 基本数据结构1.1 数组 (Array)1.2 链表 (Linked List)1.3 栈 (Stack)1.4 队列 (Queue)双向队列优先级队列 2. 树形数据结构2.1 二叉树 (Binary Tree)2.2 堆 (Heap) 3. 散列数据结构3.1 哈希表 (Hash Map)3.2 LinkedHashMap3.3 TreeMapConcurrentHashM…

【C++练级之路】【Lv.7】【STL】vector类的模拟实现

快乐的流畅:个人主页 个人专栏:《C语言》《数据结构世界》《进击的C》 远方有一堆篝火,在为久候之人燃烧! 文章目录 引言一、成员变量二、默认成员函数2.1 constructor2.2 destructor2.3 copy constructor2.4 operator 三、迭代器…

Java毕业设计-基于jsp+servlet的学生推荐平台管理系统-第81期

获取源码资料,请移步从戎源码网:从戎源码网_专业的计算机毕业设计网站 项目介绍 基于jspservlet的学生推荐平台管理系统:前端 jsp、jquery,后端 servlet、jdbc,集成用户端和管理后台,用户端浏览书籍课程&…

C++ 字符串库 std::basic_string

std::basic_string C 字符串库 std::basic_string 在标头 定义 template<class CharT,class Traits std::char_traits<CharT>,class Allocator std::allocator<CharT> > class basic_string;(1) namespace pmr { template<class CharT,class Traits …

【运维】如何恢复默认的~/.bashrc

可以通过使用系统默认的.bashrc文件来恢复它。以下是一些步骤&#xff0c;具体操作可能因系统而异&#xff1a; 使用默认.bashrc文件&#xff1a; 大多数Linux系统都会提供一个默认的.bashrc文件。您可以复制系统默认的文件到您的主目录。 cp /etc/skel/.bashrc ~/上述命令会将…

MySQL之数据库DML

文章目录 数据操作DML插入修改删除 数据操作DML 这里的数据操作就是增删改的更新操作&#xff0c;不包括查询 插入 insert into 表 (列名1,列名2,列名3...) values (值1,值2,值3...); //向表中插入对应列 insert into 表 values (值1,值2,值3...); //向表中插入所有列第…