SurfaceCreated不调用的解决方法

【代码审计】RuoYi定时任务漏洞:从SQL注入到RCE的攻防演变 本文深入剖析了RuoYi框架定时任务模块从早期版本无校验到引入黑白名单机制,再到被组合利用实现RCE的完整漏洞演变过程。文章详细分析了SQL注入与定时任务功能结合导致的远程代码执行漏洞,并总结了代码审计与安全开发的核心要点,为开发者提供了重要的安全参考。 阅读详情


因为要为外面封包一个aar包,把一个摄像头的显示控件略微封装了一下,在没有封装的情况下,程序可以正常的跑起来。但是在打好包后用测试程序调用这个包,发现不显示图像。打了个日志比较了一下,发现正常的程序里是调用SurfaceCreated这个函数的,但是在aar包里却不调用这个函数。

而一些初始化的程序就放在这个函数里呢,没有它,当然图像不会显示出来。一开始怀疑是程序的原因,就把包里的许多代码都注释掉了。几乎是和可运行的应用程序是一致的(不打包的应用程序)。可是还是不行。

后来抱着试试看的想法在网上查,发现还真有好多人都遇到了这种情况,发现了几种方法,但是都不能解决问题:

比如有人说在构造函数里增加:

                   holder= getHolder();

                   holder.addCallback(this);

这里的程序里本来就有这个,所以这个是没有意义。还有的说里面写一个其它的子控件的方法,这个也没试,因为不知道写哪个子控件。

 

后来发现有一个网友说要动态增加这个View:

   protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       cpv = new CameraPreview(MainActivity.this);

       setContentView(R.layout.activity_main);

       FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(600,480);

       params.gravity = Gravity.CENTER;

       addContentView(cpv,params);

}

好的,试用了一下,果然OK。

后来又在百度发现有网友说如下原因:“你看看的布局是否是fill_parent,把surfaceview给挤出屏幕了。我的就是这样”,看了一下,原来还真是用的fill_parent:

                   android:id="@+id/view_ca"

       android:layout_width="fill_parent"

       android:layout_height="0dip"

                   android:layout_weight="1"

那就按人家说得,改成指定大小,简单起见:

       android:layout_width="600dp"

        android:layout_height="480dp"

然后调用改用:

cpv = (CameraPreview) findViewById(R.id.view_ca);

果然也好了,这也是醉了。水平真是太菜了。

 

 

【PADS-开发指南】 馒头破戒大师 阅读详情

相关推荐

告别手动群发!用IDA Pro和CE搞定企业微信4.1.38.6011的HOOK开发(附完整代码)

本文详细介绍了如何利用IDA Pro和Cheat Engine进行企业微信4.1.38.6011的HOOK开发,实现自动化群发功能。从逆向工程环境配置、关键函数定位到HOOK框架设计,提供完整代码示例,帮助企业提升运营效率。

weixin_42533120的博客 479

关于SurfaceView创建时,surfaceCreated调用的问题

SurfaceView预览界面写在XML文件中一般正常流程执行surfaceView,surfaceCreated可以正常调用; 但是下面两种方法surfaceCreated不会被调用,因为工作中遇到过所以记录一下。 方法一,使用handler延时加载 mHandler.postDelayed(new Thread() { public void run() { surfaceHolder = surfaceView.getHolder(); surfaceHolder.addCallback(this);

Linlee11的博客 3439

f103vet6 SD卡SDIO+DMA配置避坑指南:从初始化卡死到稳定读写的全流程解析

本文详细解析STM32F103VET6芯片SD卡SDIO与DMA配置中的常见问题,从初始化卡死到读写不稳定的全流程解决方案。重点分析总线宽度配置、时钟分频调整及DMA通道管理技巧,帮助开发者避开常见陷阱,实现稳定高效的数据存储。

u0v1w2x3的博客 666

Android平台下OpenGL初步

转自网上,网上没找到出处,只看到一些论坛中有这篇文章,组织的有点混乱,这篇文章感觉讲的挺好的。 http://www.bangchui.org/read.php?tid=7572&page=1 本文只关注于如何一步步实现在Android平台下运用OpenGl。 1、GLSurfaceView GLSurfaceView是Android应用程序中实现OpenGl画图的重要组成部分。G...

移动编程 541

vmware vsphere5---部署vCSA(VMware vCenter Server)附带第二阶段安装报错解决方案

因为这份文档我是边做边写的,遇到问题重新装了好几次所以IP会很乱ESXI主机为192.168.20.10VCSA为192.168.20.7,后台为192.168.20.7:5480后期请自行对应,后面的192.168.20.57请对应192.168.20.7,或根据自己的来。

m0_70212665的博客 5714

射频电源与等离子体技术:原理、应用与优化策略

射频电源(RF Power Supply)作为高频交流电信号发生器,在半导体制造和材料处理中扮演关键角色。其核心原理是通过高频电场激发气体产生等离子体,这种电离气体包含电子、离子和活性基团,具有独特的非平衡特性。技术价值体现在等离子体密度和电子温度的可控性上,使得在刻蚀和沉积工艺中能精确调控材料处理效果。应用场景广泛覆盖PECVD、深槽刻蚀等工业流程,其中13.56MHz ISM频段因其全球合规性成为行业标准。优化策略包括双频驱动和阻抗匹配网络设计,可显著提升工艺均匀性和设备效率。

weixin_29163797的博客 391

surfaceview组件的surfaceCreated()不被调用的解决方案

有时候我们有需要在native层做在surfaceview的上下文中做渲染,这个时候只是提供了一个单独什么都不做的surfaceview。 xml文件如下: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/

做技术最亲切 1万+

使用Matlab实现海洋监视雷达检测仿真

海洋监视雷达是一项重要的海洋探测技术,可以用于海上船只、飞机、潜艇等目标的探测和监视,具有广泛的应用价值。本篇文章将介绍如何使用Matlab进行海洋监视雷达的检测仿真,并提供相应的源代码。本篇文章提供了利用Matlab进行海洋监视雷达检测仿真的基本思路和代码实现。读者可以根据自己的需求进行修改和优化,以适应不同的应用场景。使用Matlab实现海洋监视雷达检测仿真。

2301_78484069的博客 448

surface相关函数

<br />surfaceCreated(SurfaceHolder holder):当Surface第一次创建后会立即调用该函数。程序可以在该函数中做些和绘制界面相关的初始化工作,一般情况下都是在另外的线程来绘制界面,所以不要在这个函数中绘制Surface。  <br /><br />  surfaceChanged(SurfaceHolder holder, int format, int width,int height):当Surface的状态(大小和格式)发生变化的时候会调用该函数,在su

魔戒 1575

selenium绕过检测,规避检测

现在不少大网站有对selenium采取了监测机制。比如正常情况下我们用浏览器访问淘宝等网站的 window.navigator.webdriver的值为 undefined或者为false。而使用selenium访问则该值为true。那么如何解决这个问题呢?我们正常浏览器登录查看,window.navigator.webdriver的值为false我们通过selenium打开的网页,测试,可见window.navigator.webdriver的值为true。

景天科技苑 1万+

Microsoft Bitlocker企业级管理部署方案

BitLocker是Windows 10以及更高版本中内置的磁盘加密工具,是一种可靠的数据保护机制,可以保护计算机上的敏感数据不被未经授权的人访问。BitLocker的工作原理是将整个系统卷或其他数据卷加密的同时,向某个可信软件或硬件模块请求密钥解密数据。BitLocker最大的好处在于其内置于Windows系统,所以用户无需安装其他软件或购买额外的许可证或硬件设备。本文将介绍Microsoft BitLocker企业级管理部署方案,包括:BitLocker部署前的准备工作。

xueyunshengling的博客 2075

OpenGL ES 2.0 for Android教程(四):添加颜色和阴影

OpenGL ES 2 第四章:添加颜色和阴影 在现实世界中,对象具有不同的颜色和阴影。如果我们看看家里的墙,可以看到它被涂成了单一颜色。同时,墙的某些部分看起来会更暗或更亮,这取决于朝向周围光线的角度。我们的大脑利用这些细微的阴影差异作为主要的视觉线索之一,帮助理解我们所看到的东西;艺术家们从一开始就一直在利用这些线索来欺骗我们的大脑。在本章中,我们将向艺术家学习,并使用不同的颜色和阴影使我们的桌子看起来不那么平坦,更逼真。

重来的博客 9838

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

学习笔记——WaveLineView跳入的坑

      有一需求仿京东的语音识别页面。 https://github.com/Jay-Goo/WaveLineView 把这个波浪图形用在popupwindow上。 但是在用该控件的时候遇到了问题,就是第一次不会加载出现该波浪图形,百思不得其解。 一开始查出来startThread时renderThread为空。 renderThread初始化是在这里的。 所以原...

SemiraChen的博客 1328

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

surfacecreated啥时被调用_JavaScript当中的this究竟是个啥?

前言原文:JavaScript当中的this究竟是个啥?对于JS的初学者而言,JS当中的this指向很难让人摸准其脉络,经常会给你一种模糊美、朦胧美的感觉!因为this并不是固定不变的,它会根据自身所执行的环境的不同而不同。而且在开发的过程中,经常因为对this的不了解出现这样或那样的错误!所以搞定this的指向是非常非常有必要的!this指向与其它语言当中的this不同的是,JS当中的this总...

weixin_39562197的博客 331

关于SurfaceHolder.addCallback方法无法调用surfaceCreated 方法不回调的一个建议

我遇到这个问题的场景是:页面一个大的SurfaceView .想要通过相机实时预览捕获到的场景。页面进入的时候动态获取相机权限,如果有权限则直接绑定holder surfaceHolder=surfaceView.getHolder(); surfaceHolder.addCallback(MainActivity.this);如果没有则申请。。在异步回调成功方法里,执行上面绑定:结果:每次运行...

a872822645的博客 1万+

surfacecreated啥时被调用_有赞云是个啥?

有赞云是个啥?能实现啥功能?对开发者有什么帮助?怎么上手?你对有赞云有这样的疑惑吗?本期小编邀请了有赞云的技术大佬——秋水,从有赞云产生背景、技术架构、未来规划等方面,为你全面解析。本文作者:汪兴(花名秋水,有赞云技术负责人)01有赞云背景有赞是 SaaS 公司,面向商家提供全方位的软件服务,支撑商家进行采购、店铺、商品、营销、订单、物流等。在这个软件服务里,能够满足大部分的商家的需求,...

weixin_39622289的博客 365

surfacecreated啥时被调用_微服务间的调用和应用内调用有啥区别

摘要目前大部分的系统架构都是微服务架构,就算没有注册中心、服务管理,也肯定是多个服务,单体服务比较少了。大家平时需要在应用内调用rpc接口也比较多,那么有没有思考过微服务之间的调用和应用内直接调用有什么区别呢?面试时是不是经常被被问到微服务呢,本篇文章针对微服务间的方法调用和应用内方法调用的有啥区别这个很小的点,谈谈我的经验微服务调用特点先从单体应用说起单体应用单体引用通过一个服务节点直接组装好数...

weixin_39943101的博客 231

继承 SurfaceView 无法调用到onDraw()的解决方法

surfaceView虽然继承自View,但是并没有重写onDraw()方法,所以,即使重写了surfaceView的onDraw()方法,也不会被调用。 解决方法是实现了surfaceHolder.Callback接口之后,在surfaceCreated(SurfaceHoder arg0)方法中添加一句 setWillNotDraw(false);

博客 2338

surfacecreated啥时被调用_小豪爱上JVM--运行时数据区 | 面试必问

小豪今天又又又去面试了,托宇哥的福,面试官竟然真的问到了JVM,原本小豪以为能够凭借昨天宇哥教的知识蒙混过关,没想到面试官小哥哥没有按套路出牌,小豪于是又又又出糗啦,大家快来一起笑话他,嘻嘻嘻。故事人物背景介绍小豪: 23岁,武汉某双非本科不知名专业大学四年级学生,成绩一般,面临毕业,对后端开发、Java很感兴趣,正求职找工作。宇哥: 跟小豪通过租房认识,两人是室友,26岁,毕业后长期从事软件开发...

weixin_39907289的博客 272

Android MediaPlayer 锁屏后从新进入黑屏 问题解决方法

导致锁屏黑屏的原因:播放视频过程中锁屏不可见时,则SurfaceHolder对象会销毁,当切换可见时因为mediaPlayer.setDisplay()的SurfaceHolder对象不存在,所以只有声音没有视频。 解决方案:可以在初始化时通过surfaceView获取SurfaceHolder对象,通过addCallback监听SurfaceHolder.Callback接口,SurfaceHolder.Callback三个回调方法分别如下: surfaceCreated surfaceChanged s

北极的松树的博客 3197

surfacecreated啥时被调用_Electron-vue在发送请求时携带cookie

Electron-vue在发送请求时携带cookie 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 解决 axios一般呢我们会遇到在vue项目使用它来发送的我们的请求,相当于ajax 我们在使用axios的时候默认给它配置 例如我在项目调用请求的时候封装了一个request类,在引入axios的时候,给它初始化配置 代...

weixin_39839726的博客 72

surfaceCreated方法报setParameters failed错解决办法

public void surfaceCreated(SurfaceHolder holder){ Log.d(TAG, "surfaceCreated" + mCamera); try { CamcorderProfile profile ; int numCameras = Camera.getNum

杰骜不驯 1636
上一篇: springmvc中对中文乱码等的处理
下一篇: springmvc中直接在Resposboday中处理数据的异常解决方法
fpcc
fpcc 新星创作者: C/C++技术领域 新星创作者: C/C++技术领域
博客等级 码龄22年 4041粉丝 1189原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值