首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

一、Android 截屏攻击 针对 Android 应用的 " 截屏攻击 " 是 恶意应用程序 或者 攻击者利用某些漏洞或技术手段 , 非法获取用户屏幕上的敏感信息 , 会导致用户 隐私泄漏 或者 造成安全风险...来执行 未授权的截屏操作 ; 屏幕录制 : 屏幕录制技术 也可能被用于窃取用户的屏幕信息 ; 二、Android 系统的截屏方式 在 Android 系统中 , 用户可以 通过 特定的键盘组合触发 截屏...; 电源键 + 音量减小键 : Android 设备上触发截屏的组合键 , 系统会触发截屏操作 , 并将当前屏幕内容保存为图片文件 ; 手势操作: 滑动手势 : 在特定的 Android 设备上 ,...可以使用手势或者滑动手势来触发截屏操作 ; 通知栏快捷方式: 通知栏菜单 : 有些 Android 设备 在通知栏中提供了截屏的快捷方式按钮 , 用户可以通过点击该按钮来执行截屏操作 ; 系统设置中的截屏选项.../path/to/save/on/computer/ Android Studio 中的截图功能 , 就是这么实现的 ; 四、Android 截屏代码 在 Android 应用程序中 , 通过代码进行截屏

19610

全屏、沉浸式、fitSystemWindow使用及原理分析:全方位控制“沉浸式”的实现

可以这么理解:状态栏与导航栏拥有自己独立的窗口,而且这两个窗口的优先级较高,会悬浮在所有窗口之上,可以把系统自身的状态栏与导航栏看做全透明的,之所有会有背景颜色,是因为下层显示界面在被覆盖的区域添加了颜色...半透明效果除外(5.0之上,一般不会有TRANSLUCENT功能)),结果就是会看到被覆盖区域的一篇空白。...DecorView内容区域的扩展与fitsystemwindow的意义 fitSystemWindow属性可以让DecorView的内容区域延伸到系统UI下方,防止在扩展时被覆盖,达到全屏、沉浸等不同体验效果...不过,如果状态栏被设置为透明,用户就会看到状态栏下方有一片空白,这种体验肯定不好。这种情况下,往往希望内容能够延伸到状体栏下方,因此,就需要把空白的也留给内容视图。...仅仅设置隐藏导航栏 上图中由于设置了SYSTEM_UI_FLAG_HIDE_NAVIGATION,所以没有导航栏View被添加,DecorView中只有状态栏背景(1)View与根内容布局,从图中的点2

5.7K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android实现长图截取、拼接和添加水印

    本文的讨论是基于手机在没有root情形。 早期版本的Android是没有提供截屏功能的,到4.0时代后才自带了音量Down+电源键截屏的功能。...shell rm /sdcard/screenshot.png 一般而言,如果需要App集成截图功能,那么在Android中把一个View用图片获取后保存下来可以使用以下方法 public static...当然这个方法截图是无法截取时间电量的状态栏信息的。 需求来了 截取WebView中显示的所有内容,这个功能就不能用以上提到的方式,否则只能截图屏幕大小的图片。 首先看下截图预览 ?...(不包括时间电量状态栏)和底部的bottomBar的截图,并且需要在截图中添加水印 这就需要用到一开始提到View的截图方法了,分别截取了这几个图片后,拼接组成一个新的长图。...添加水印的方法是先把文本绘制成图片,然后水印图绘制到新的长图中。

    2.3K10

    滚动截图:更人性化的长截图工具

    于是赶紧跑来推荐给大家~   在之前推荐给大家的PPIICC这款应用中呢,我们既可以进行截图操作,也可以使用系统自带的截图功能截好图,再在PPIICC中进行拼接操作。...而这款应用则是直接调用Android 5.0及以上系统新开放的API进行截图操作(所以4.4及以下的朋友小苏还是推荐大家使用PPIICC),截图整个过程中一气呵成并且不需要Root权限。...:   按照使用提示,我们需要打开想要截图的界面,点击右下角的"开始"悬浮按钮进入长截图状态,值得注意的是,我们仅仅需要用手指滑动屏幕就可以完成截图了,为了保证截图质量,手指最好在屏幕上滑动小于半个屏幕的长度的距离后松开...整个过程一气呵成,你需要做的仅仅是点击"开始/停止"按钮和滚动屏幕而已,无需等待拼接截图,"所截即所得",是不是很棒呢~   这是小苏的劳动成果~   强迫症选项:   由于应用使用的是Android...5.0之后开放的API,所以在截图过程中,状态栏中会显示"屏幕投射"图标(截图中位于状态栏图标区最左边的那个图标),如果你的系统(如CM/魔趣等类AOSP系统)支持隐藏状态栏图标,在"状态栏设置"中隐藏

    1.4K10

    Android 15新特性,强制edge-to-edge全面屏体验

    绝大部分的App其实都只使用了绿色这部分的空间,屏幕上方的状态栏以及屏幕下方的导航栏这两个白色部分的空间都是没有利用起来的,想想你写的App是不是也是这样?...可以看到,这次的效果就没有那么理想了。聊天内容进入了状态栏区域,导致部分文字内容和状态栏重叠不易阅读,输入框和发送按钮则进入了导航栏区域,导致输入框和按钮操作可能会受到影响。...那么由于我们不希望聊天内容进入状态栏区域,因此这里调用了WindowInsetsCompat.Type.statusBars()来获取状态栏的Insets,比如说这里获取到状态栏的高度是50,那么我们通过对...chatRecyclerView设置一个50的padding就可以保证聊天内容不进入状态栏区域了。...另外从Android 10开始,Google引入了手势导航,这使得手机屏幕的左右两侧可以用于触发Back键操作,手机屏幕的底部可以用于触发Home键操作,触发区域如下图中的黄色部分所示。

    59710

    如何处理手势冲突 | 手势导航连载 (三)

    作者 / Chris Banes, Android 开发者关系团队工程师 我们将在近期为大家带来一个关于 "手势导航" 的系列连载,本文是手势导航连载的第三篇,如果您希望查看前两篇文章,请点击下方链接...如果您读过我们之前的文章,应该会记得 "强制系统手势交互区" 是指系统手势始终被优先处理的屏幕区域。 对 Android 10 来说,强制交互区域只有一个,那就是屏幕底部。...OK,现在我已经解释了流程图中的问题,下面我们来详细说说流程图中给出的解决方案。 解决方案 1: 无需处理手势冲突 最简单的 "解决方案" ,只需要……什么都不做!...这时屏幕底部的系统手势交互冲突已经解决了,但屏幕左右两侧的 "后退" 操作依然和进度条有冲突: 在上图中,由于进度条的播放头正好位于右侧手势区内,因此系统认为用户正在用手势执行 "返回" 操作,因此显示了...答案是,系统只会兑现您的要求中位于最下方的 200dp,如下图所示: △ 开发者请求切出 50 + 50 + 125 + 50 dp 的区域,但系统只兑现最下面的总计 200dp 我的视图不在屏幕内,是否也会受到这个限制

    5K30

    最新iOS设计规范三|3大界面要素:栏(Bars)

    一、导航栏(Navigation Bars) 导航栏出现在页面的顶部,位于状态栏下方,可以给一系列层级页面进行导航。当点击进入新页面时,其导航栏的左侧会出现一个返回按钮,并带有前一页面的标题。...但是如果添加导航栏显得多余,则可以将标题留为空白。例如,Notes的导航栏就没有标题说明文字,因为第一行内容已经有了足够的提示。 当需要特别强调上下文时,请使用大标题。...考虑在搜索栏下方提供有用的快捷方式和其他内容。使用搜索栏下方的区域可帮助人们更快地获取内容。例如,Safari会在您点击搜索字段后立即显示您的书签。选择一个即可直接进入,而无需输入任何搜索词。...四、状态栏(Status Bars) 状态栏出现在屏幕的上边缘,并显示有关设备当前状态的有用信息,例如时间,移动电话和电池电量。状态栏中显示的实际信息取决于设备和系统配置。 使用系统提供的状态栏。...状态栏的文本和指示器的视觉样式可以是浅色或深色,可以针对APP进行全局设置,也可以针对不同的屏幕单独设置。 深色状态栏的效果在浅色内容至少效果很好,而浅色状态栏的效果在深色内容上效果很好。

    9.9K10

    小 Demo 大知识 - 控制 Button 移动来学 Android 坐标

    y轴坐标,即点击事件距离控件顶边的距离 getRawX():获取点击事件相对整个屏幕左边的x轴坐标,即点击事件距离整个屏幕左边的距离 getRawY():获取点击事件相对整个屏幕顶边的y轴坐标,即点击事件距离整个屏幕顶边的距离...恭喜你,你已经距离最后的成功差一小步了。当你高兴的这么写后,你会发现你移动后的Button总是在鼠标点击的下方。你会发现。X轴的的确已经正确了。但是Y轴还是错误。...Paste_Image.png 错误原因: 因为我们调用的getRawY()方法获取到的是屏幕左上角到我们点的区域的Y轴的距离,也就是以蓝色坐标系来做参考。...而我们对Button设置setY()方法的时候是绿色区域的左上角到我们点的区域的Y轴距离,也就是以红色坐标系来做参考。所以我们知道了。我们在Y轴上还要减去状态栏的高度及应用标题栏的高度才可以。...如何获取状态栏的高度,和应用标题栏的高度: 获取状态栏高度 int statusBarHeight = -1; //获取status_bar_height资源的ID int resourceId

    16210

    处理视觉冲突 | 手势导航 (二)

    系统 UI 包括屏幕上由系统提供的所有 UI,例如导航栏和状态栏,另外它还包括诸如通知面板之类的内容。...我们甚至能看到在 StackOverflow 上有个一直热门的问题就是关于这个的。 Insets 区域负责描述屏幕的哪些部分会与系统 UI 相交 (intersect),例如导航或状态栏。...自 API 1 以来,它们就以各种形式存在着,并且每当系统 UI 重叠显示在您的应用上方时,这个方法就会被调用。常见的例子是下拉状态栏和导航栏,或者弹出屏幕软键盘 (IME)。...在 Android 10 上,系统手势区域如下: △ 左/右侧的后退操作区域宽 40dp,下方的主屏操作区域高 60dp 如果您有需要滑动操作的控件出现在了系统手势区域内,就可以使用对应的数值来将这些控件挪开...在 Android 10 上,当前唯一的强制区域是屏幕底部的主屏手势区域,系统保留这个区域就可以让用户在任何时候都可以退出当前应用: △ 底部 60dp 即为强制系统手势边衬区 稳定显示边衬区 方法:

    2.8K30

    windows和各编辑器实用快捷键总结

    windows快捷键 win+tab 选择界面 win+E 打开文件资源管理器 win+PrtSc 全屏截图并保存到系统图片的”屏幕截图“文件夹,并放到剪贴板 win+shift+S 截取选中区域并放到剪贴板...Esc 打开任务管理器 ctr+shift+N 新建一个新文件夹 alt+tab 切换界面 alt+PrtSc 截某应用的全屏并放到剪贴板 eclipse Ctrl+shift+r 搜索文件 alt...Ctrl+shift+enter则在当前行之前插入空白行。 ctrl+.及ctrl+1:下一个错误及快速修改 ctrl+m大显示屏幕能够提高工作效率是大家都知道的。...ctrl+shift+F 整理代码风格 ctrl+shift+T 搜索类 Word ctrl+shift+F9 取消超链接 ctrl+alt+C 关闭Word界面后截屏 alt+shift+上下方向键...上下移动文字段或表格行 android studio ctr+B(或ctr+鼠标左键) 跳转到类、方法或变量的定义位置 ctr+F12 显示当前文件的当前类的成员列表,可选择跳转 ctr+O 重写基类方法

    92320

    android 特色输入输出

    核心技能部分​ 6.1 手势识别 当前的Android手机中,输入设备主要以屏幕上的模拟键盘居多,这种设计初衷是为了减少手机重量,同时为用户提供更大的屏幕显示界面,然而这么做的弊端也同时产生,在本就不大的手机屏幕上...6.1.1 通过手势缩放图片 在图片查看过程中,很多时候我们需要将图片全屏显示,以最大限度地利用我们有限的屏幕区域,同时我们还经常需要将图片放大缩小等功能来查看图片各个位置的具体细节或图片的整体效果,而如果通过添加两个按钮来完成此功能相对来说比较简单...我们经常使用的Google地图中,当我们要查看某一详细信息时就可以通过缩放组件对其进行控制,如下图6.1.1所示。...在添加手势界面上方的文本框中输入一个手势名(在识别手势后,系统会返回该名称),然后在下方的空白处随意画一些手势轨迹,如下图6.1.6所示。...当用户单击短信时手机会以语音的形式将短信的内容读取出来。 ​实现步骤​ (1) 为用户接收短信后,增加状态栏提醒功能; (2) 为用户单击状态栏短信后添加事件响应:调用TTS完成短信信息的读取。

    5410

    Android 9.0系统新特性,对刘海屏设备进行适配

    在之前的很长一段时间里,绝大多数的手机屏幕使用的都是16:9的比例。当时普遍认为16:9就是最合适的设备屏幕比例,因为手机上方还要给听筒摄像头留足空间,下方还要给Home键留足空间。...因此,小米MIX选择了将摄像头做到了屏幕下方,形成了一个比较宽的下巴。 ? 这里我并不想评价小米MIX手机是不是一个成功的产品,或者是否具备划时代的意义。...可以看到,在竖屏模式下应用程序的状态栏部分刚好占据了手机的刘海区域,并且系统还会根据刘海的高度来自动调整状态栏的高度,这样应用程序中的内容自然是不会被刘海部分遮挡到的。...首先为了防止界面出现一片空白的情况,我对activity_main.xml布局的内容进行了修改,如下所示: android="http://schemas.android.com...可以看到,程序进入了全屏沉浸式体验的效果,并且我们在布局文件中设置的背景图是可以延伸到刘海区域的,这就使得手机屏幕的空间得到了更充分的利用。 现在旋转一下手机屏幕,效果如下图所示: ?

    89810

    Android P 凹口屏支持,打造全面屏体验

    默认情况下,如果开发者在竖屏模式下未对状态栏设定任何特殊标志位,状态栏会根据屏幕缺口情况自行调整高度 (缺口高度 ≤ 状态栏高度),而应用内容则会显示在状态栏以下区域;在横屏和全屏模式下,系统会在应用窗口四周保留黑边...△ 应用请求在缺口区域进行布局 开发者可以调用 Android P 中的相关 API,判断设备是否具有凹口屏,然后在获取缺口的位置信息,并管理内容在缺口区域的布局。...在默认情况下,只有当缺口完全包含在状态栏内时,系统才会允许应用延伸至缺口区域,否则窗口不会与缺口重叠。...凹口屏幕全知道 Android P 中引入了对凹口屏幕的官方平台支持,同时提供了一系列 API 帮助开发者在缺口区内外对应用内容进行布局。...首先,厂商需要确保设备的凹口屏幕不会对应用造成不良影响,这涉及到以下两项关键要求: 在竖屏模式下,若没有设定特殊标志位,状态栏高度必须大于或等于缺口高度; 在全屏或横屏模式下,缺口区域必须整个落在黑色填充区内

    1.5K20

    熟悉Android Studio界面,开始装逼卖萌

    其中区域1为菜单栏,区域2为工具栏,区域3为导航条,区域5为代码编辑区,区域4、6为工具窗口,底部的区域7为状态栏,左侧、右侧和状态栏上部区域为工具条,接下来就一一拆解进行了解。...5工具条 工具条是用来放置工具的,点击后可以展开工具窗口。Android Studio中的工具条分布在主界面的左右两边和底部(状态栏上面)。...6状态栏 状态栏通常在界面的最底部,主要显示Android Studio当前的状态和执行的任务。 ?...从图中可以看出收藏夹中支持收藏项目中的文件、书签和断点。 7.6运行工具窗口: Run 运行工具窗口主要显示Android Studio的运行过程。 ?...区域7为设备操作按钮,从上到下分别为:截屏、录像、系统信息、停止应用、布局查看、Android Monitor帮助信息。

    3.3K60

    开启全面屏体验 | 手势导航 (一)

    △ Android 10 中新加入的手势交互 通过使用手势交互来执行系统导航,应用可以使用到更多的屏幕空间。这有助于您为用户打造更加沉浸的体验。 在大多数设备上,用户都能选择他们喜欢的导航模式。...全面屏幕体验 我使用 "边到边" (edge-to-edge) 一词来描述那种将内容铺满整个屏幕,以实现更沉浸视觉体验的应用。默认情况下,应用内容的绘制范围从顶部状态栏下方开始,延伸至底部导航栏上方。...使用 Android 10 以下设备的用户同样能获得更加沉浸的体验。我们将它设置为可选,仅仅是为了最大程度地减少开发者的工作量和测试量。 在状态栏后面绘制内容 接下来,我们来看看屏幕顶部的状态栏。...举个具体的例子,比如像下图那样把一张背景图铺在状态栏后面,具体的技术实现可以参考类似 AppBarLayout 等布局,并将其放在屏幕顶部。 ?...再强调一次: 是否扩展应用内容的绘制区域完全取决于开发者,是可选的。 如何实现 想实现 "边到边" 全面屏体验分三步: 1. 请求进行全屏布局 第一步是让系统将我们应用布局扩展至系统栏后方。

    2.5K30

    Android App Dark Theme(暗黑模式)适配指南

    以上这张图截选自 Android 官方文档,上面提出了 Dark Theme 的三点好处: 可以帮助我们节省更多的电量 为弱视以及对强光敏感的用户提高可视性 让所有人都可以在光线较暗的环境中更轻松地使用设备...这样在暗黑模式下,OLED 就具有天生的优势,只需要关闭黑色区域的显示,就可以达到纯黑效果,而 LCD 的背光层只能发射白光,所以在显示黑色的时候,仍然会有部分光透过颜色薄膜,无法达到纯黑效果,只能达到相对黑的效果...所以,在如今使用 OLED 屏幕的手机上面,开启暗黑模式会大幅减少手机电量的消耗。关于其中更详细的作用原理以及好处,推荐阅读来自中科院物理所公众号的文章,点击下方查看。...根据需求对不同模式下相同名字的颜色值做适配 这里推荐使用颜色本身的场景意义来命名,例如上图中的 colorBackground 表示背景颜色,colorOnError 表示在错误状态上,文字的显示颜色...,在控件需要颜色的地方,直接通过 @color/colorXXX 来使用 自定义适配完全可以达到任何我们想要的效果,相比自动适配,这里我对状态栏、错误颜色以及强调色进行了微调。

    5.4K20

    移动应用界面设计的尺寸规范「建议收藏」

    一、android篇 1、android分辨率 屏幕尺寸 指实际的物理尺寸,为屏幕对角线的测量。 为了简单起见,Android把实际屏幕尺寸分为四个广义的大小:小,正常,大,特大。...但根据48dp原则,以及一些主流的android应用的截图分析,总结一下尺寸要求: 状态栏高度:50 px 导航栏、操作栏高度:96px=48dp x 2 主菜单栏高度:96 px 内容区域高度...另外,每个UI元素之间的空白通常是8dp 。...3、基本元素的尺寸设置 iPhone的APP界面一般由四个元素组成,分别是:状态栏、导航栏、主菜单栏以及中间的内容区域。...这里取用 640×960 的尺寸设计,那我们就说说在这个尺寸下这些元素的尺寸: 状态栏:就是我们经常说的信号、运营商、电量等显示手机状态的区域,其高度为:40 px 导航栏:显示当前界面的名称,包含相应的功能或者页面间跳转的按钮

    5.2K20

    Android自定义控件坐标系解析

    自定义控件要想彻底的把握,掌握Android各种坐标系及一些API的坐标含义毫无疑问是不可忽视的技能,对于控件的摆放位置、触摸点、控件绘制等都离不开坐标系,所以学习自定义控件之前我们就先来谈一下Android...一、Android屏幕坐标系和数学坐标系的区别 (1)、在数学坐标系中以xy轴的交点为坐标原点,x轴向右为正方向,y轴向上为正方向,这对于童鞋们来说已经再熟悉不过了,如图: ?...二、Android屏幕区域的划分 Android屏幕区域主要划分为五个区域分别为:状态栏区域、ActionBar区域、View布局区域、应用程序App区域、屏幕区域,相互之间又存在嵌套关系。...下面我们来看看各个区域高度的获取: (1)、状态栏区域高度获取: //第一种方式,使用此方法一定要等界面渲染结束 Rect rect = new Rect();...三、Android坐标系的分类 上面我们分析了Android屏幕区域的划分,接着我们分析一下与区域相关的Android坐标系,在Android坐标系中可以分为:屏幕坐标系,视图坐标系。

    79930
    领券