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

Android 9.0 关于在系统Launcher3中调用截图api总是返回null的解决方案

1.概述

在9.0的系统rom产品定制化开发中,在Launcher3的开发中,在某些时候需要调用截图接口来进行截屏功能实现,而在Launcher3中发现调用系统截屏接口SurfaceControl.screenshot进行截图的时候始终为null,
获取不到系统当前页面的截屏功能,所以需要找到当前截屏失败的原因然后来实现截屏功能的实现,下面来分析下屏幕截屏的流程来解决问题.

2.关于Launcher3中调用截图功能总是返回null的解决方案的核心类

frameworks\native\services\surfaceflinger\SurfaceFlinger.cpp

3.关于Launcher3中调用截图功能总是返回null的解决方案的核心功能分析和实现

surfaceflinger作为显示系统非常重要的服务。在init启动之后init进程通过解析surfaceflinger.rc配置文件进行启动
screencap可以截屏,这个程序十分简单,只是使用了surfaceflinger服务的截屏功能。
所以要了解截屏,看surfaceflinger服务的代码是不二首选

3.1 关于调用屏幕截图的相关方法

Android 截屏分为四种:View 截屏、WebView 截屏、系统截屏 和 adb 截屏
首先来看看在app开发中,截图功能可以通过命令调用
screencap来实现截图,也是可以通过调用截屏api来实现截图的,接下来看是怎么调用相关截图的api来实现截图功能的,接下来看下用WindowManager和
 StatusBarManager的相关api来实现截图功能

           public Bitmap captureScreen(Context context) {
http://www.lryc.cn/news/316887.html

相关文章:

  • openssl3.2 - exp - 用openssl命令行来模拟ECC加解密的全流程
  • 【Linux进阶之路】HTTP协议
  • 股市新手福音:河北源达“财源滚滚”让投资变得更简单
  • 2024.02.14 校招 实习 内推 面经
  • 5.Java并发编程—JUC线程池架构
  • llama2c(4)之forward、sample、decode
  • 20240312-2-贪心算法
  • 前端 --- HTML
  • curl c++ 实现HTTP GET和POST请求
  • 12、设计模式之代理模式(Proxy)
  • springboot集成Quartz定时任务组件
  • 代码随想录算法训练营第38天—动态规划06 | ● 完全背包 ● *518. 零钱兑换 II ● 377. 组合总和 Ⅳ
  • C语言每日一题(63)复写零
  • ElasticSearch聚合查询
  • 【毕设级项目】基于AI技术的多功能消防机器人(完整工程资料源码)
  • 【一】【设计模式】类关系UML图
  • 【DevOps基础篇】容器化架构基础设施监控方案
  • 【QT】文件流操作(QTextStream/QDataStream)
  • CentOS 7 devtoolset编译addressSanitizer版本失败的问题解决
  • ubuntu2004桌面系统英伟达显卡驱动安装方法
  • Java通过Excel批量上传数据!!!
  • 【PyQT/Pysider】控件背景渐变
  • ChatGPT-4 VS 文心一言4.0
  • MYSQL------从概述到DQL
  • MATLAB算法实战应用案例精讲-【图像处理】图像识别(基础篇)(二)
  • Leetcode 3.12
  • 【天池课堂】零基础入门数据挖掘-课程汇总
  • 表单进阶(3)-上传文件和隐藏字段
  • LLM(大语言模型)常用评测指标-MAP@R
  • 腾讯面经学习笔记