安卓10源码开发定制(34)系统截屏流程之Java层分析

本文深入探讨了在Android 10(lineageOS 17.1)中,通过‘音量-’键和‘电源键’进行屏幕截屏的流程。从PhoneWindowManager的interceptKeyBeforeQueueing方法开始,逐步分析了按键处理、ScreenshotRunnable、DisplayPolicy、ScreenshotHelper、TakeScreenshotService和GlobalScreenshot等关键步骤,直至SurfaceControl的nativeScreenshot方法。整个过程揭示了Java层截屏的完整路径。
摘要由CSDN通过智能技术生成

一、前言

 

    安卓手机中可以通过同时按下"音量-"键和"电源键"实现屏幕截屏,某些手机也可以通过屏幕下拉快捷菜单中的"截屏"功能实现截屏。本文章分析测试的是lineageOS 17.1的系统通过按下"音量-"键和"电源键"实现屏幕截屏的流程分析。

 

 

二、PhoneWindowManager简单说明

 

     在安卓系统中常见的按键比如HOME、电源键、返回键、音量键等处理是在PhoneWindowManager类中首先进行处理。所以如果需要对这些按键特殊逻辑处理就需要修改PhoneWindowManager类源码。本篇中分析的屏幕截图涉及到电源键和音量键操作,所以以下我们从该类开始分析截屏的流程。

 

 

三、流程分析

 

1.PhoneWindowManager中的流程分析

     该类源码路径位于:

 

framewor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaomaNo01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值