腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
腾讯优测是专业的android自动化测试平台,拥有上千款真机,彻底解决android碎片化问题!
这里我要说的不是闪光灯的硬件特征,也不是说底层驱动的原理,我只是跟大家聊一聊在项目中遇到的一些关于闪光灯的让人挠头的几个问题,也许你也曾遇见过,那我们一起来回味;如果你没遇见过,那我的这篇文章会让你少走一点弯路。
一、判断手机是否有闪光灯
按照常理,我们在使用闪光灯之前需要先判断手机是否有闪光灯,我们常用的判断闪光灯的方法应该有以下两种:
根据腾讯优测数据库中的数据显示,在热门机型中:
使用方法一会有3.7%的机器结果错误,无法准确地判断出手机是否有闪光灯,主要的品牌包含:酷派、天语、联想、三星等。
使用方法二会有9.7%的机器结果错误,主要品牌包含:VIVO、金立、酷派、天语、朵唯、三星等。
如果产品中某个UI显示状态跟此结果相关,那么我们就需要针对这10%左右的手机做适配,设置机型开关明确指定问题机型是否有闪光灯,腾讯优测云测试平台可以提供相关数据和解决方案。
二、开启闪光灯
现象一:对焦可以开启闪光灯
如果我们设置闪光灯的模式为Parameters.FLASH_MODE_ON,那么当我们执行对焦操作的时候,(mCamera.autoFocus(null))闪光灯会亮,有人会说这个很正常,我并不跟大家纠结这个现象是否正确,我只是要告诉大家在热门机型中有46%的机型在这种情况下闪光灯会亮,另外54%的机型则不会亮,这是一种现象上的差异,每个产品根据自己的实际情况适当考虑这个问题。
现象二:不支持闪光灯常亮设置
如果你的App中有一个功能需要开启闪光灯常亮
(Parameters.FLASH_MODE_TORCH),那么你要有个心理准备,将有12%的手机不支持闪光灯常亮。
现象三:设置闪光灯常亮拍照后的图片ExifInterface闪光灯信息不正确
照片的ExifInterface信息中可以查看图片的旋转角度、拍摄时间、拍照时是否使用了闪光灯等信息,这些信息一般都是在生成照片时手机底层自动添加的,如果这个信息中闪光灯的使用情况对你的App有重要的用途时,你就要注意了,因为26%的手机在设置闪光灯为Parameters.FLASH_MODE_TORCH后拍照的照片信息中会返回“未使用闪光灯”的标识。
你可以尝试在拍照的时候自己去写入这个信息,但是成功率不是很高。
现象四:常亮状态与其他状态间的切换
前提条件是我们设置闪光灯为常亮,并且闪光灯成功常亮,此时我们在设置闪光灯模式为Parameters.FLASH_MODE_AUTO后闪光灯依然常亮,这样的机型约占热门机型的12%,遇到这种情况我们需要先设置闪光灯模式为Parameters.FLASH_MODE_OFF关闭闪光灯后再设置其他模式。
PS:有点小问题是有极个别手机设置闪光灯为常亮后即使设置
Parameters.FLASH_MODE_OFF也无法关闭闪光灯,但这种现象极其罕见,只占0.5%甚至更少,我们可以忽略不计,总不能每次切换都险释放Camera吧。
三、关闭闪光灯
既然开了,我们就要负责关。说实话,以前这个问题根本不在我的考虑范内,因为我们在使用Camera的时候都会在Activity被销毁或者暂停时释放Camera,这个时候无论闪光灯是什么状态,都会随着Camera的释放而关闭,直到我遇见了特殊机型,我的世界观发生了变化。
这货如果设置了闪光灯常亮,即使释放了Camera闪光灯依旧稳稳地亮着,而且由于Camera被释放掉了,你再也没办法关闭闪光灯了,关闭App、卸载App,算了,你还是扣电池关机吧。
所以如果你的程序中频繁地切换各种闪光灯模式,那么在释放Camera前最好先把闪光灯模式设置为Parameters.FLASH_MODE_OFF吧,不然我们还能怎么办??
加入腾讯优测官方群 214483489 与大咖们分享技术与时讯!
腾讯优测 李忠丞
_______________________________________________________________________________________
腾讯优测是专业的移动云测试平台,为应用、游戏、H5混合应用的研发团队提供产品质量检测与问题解决服务。不仅在线上平台提供自动化兼容性测试、云手机远程租用与调试、漏洞分析、自动化测试工具Xtest等多种质量检测工具,更为VIP客户配备了专家团队提供定制化综合测试解决方案。
腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿的更多相关文章
- 腾讯优测-优社区干货精选 | 那些年,我们在Android机型适配上遇到的坑之Camera拍照时快门咔嚓声
文/腾讯优测研发工程师 吴宇焕 优测小优有话说: android机型适配的坑自然是不少,不想掉坑快来优测优社区~ 现在Android手机一般都会带有照相功能,有很多朋友就发现手机照相时快门声音很响,想 ...
- 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(下)
文/腾讯公司 陈江峰 优测小优有话说: android开发的坑自然是不少,不想掉坑快来优测优社区~ 6.Android APP开发中其它需要提醒的问题 android4.4在UI线程无法进行网络操作. ...
- 优测优社区干货精选|老司机乱谈编辑器之神——vim
文 / 腾讯 吴双 前言 优测小优 有话说: 腾讯优测只有应用测试大神?不不不,我们还有各种研发大牛! *** vim 是一种信仰,我自从2004年有了这个信仰,已经12个年头了.本文介绍了学习vim ...
- 【腾讯优测干货分享】Android 相机预览方向及其适配探索
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/583ba1df25d735cd2797004d 由于Android系统的开放策略 ...
- 腾讯优测优分享 | Android适配中的一些特殊情况小结
腾讯优测是专业的自动化测试平台,提供全面兼容适配测试,远程真机租用等多维度的测试服务! 作为一名"艰苦卓绝"的软件工程师,我在开发路上经常被各种奇葩情况虐的体无完肤...今天就想与 ...
- 腾讯优测优分享 | Android性能测试工具化实现
腾讯优测专业的移动云测试平台,自动化测试提供性能测试数据,云真机实时输出性能数据,让测试更简单! 1.Android性能测试介绍 提到Android性能测试,我们总免不了俗地要首先介绍下Android ...
- 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
腾讯优测是专业的移动自动化测试平台,提供多维度的自动化测试服务,让测试更简单! 近期有报道称,澳大利亚悉尼市新某大学的一名男生在课堂上看电影,不料耳机没有插好,变成了现场直播... 如果你认为耳机没插 ...
- 【腾讯优测干货分享】如何降低App的待机内存(四)——进阶:内存原理
本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/3FTPFvZRqyAQnU047kmWJQ 1.4进阶:内存原理 在 ...
- 【腾讯优测干货分享】如何降低App的待机内存(三)——探索内存增长的原因
本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/8BiKIt3frq9Yv9KV5FXlGw 1.3新问题的进一步挖 ...
随机推荐
- Selenium Web 自动化 - 项目实战(三)
Selenium Web 自动化 - 项目实战(三) 2016-08-10 目录 1 关键字驱动概述2 框架更改总览3 框架更改详解 3.1 解析新增页面目录 3.2 解析新增测试用例目录 3. ...
- chrome的timeline中stalled问题解析
原文地址 :http://foio.github.io/chrome-stalled/ 在公司国做一个运营活动,上线后PM总是抱怨访问速度过慢,影响运营效果.然而从前端的角度来说我已经做了如下优化: ...
- HTML表格与列表
HTML表格 表格其实就是很多的小单元格,而这些小单元格很有次序的排列着,它们有很多行,很多列.这些很多行列组成的东西,就叫表格,表格是<table>标签来定义的.而<table&g ...
- java中的标记接口
在java 中,RandomAccess和Cloneable .Serializable一样,都是标志性接口,不需要任何实现,只是又来表明其实现类具体有某种特质的,实现了Cloneable表明可以拷贝 ...
- (33)odoo中产品价格字段
打开product.template 和 product.product 模型发现有很多关于价格描述的字段 product.template: price list_pri ...
- 错误信息:System.Resources.MissingManifestResourceException: 未能找到任何适合于指定的区域或非特定区域性的资源。请确保在编译时已将“****.****.Resource.resources”正确嵌入或链接到程序集"****",或者确保所有需要的附属程序集都可加载并已进行了完全签名
在网上搜索了N久都没看到几篇解决的文章,最后在不懈的努力下终于解决了,所以决定写下解决方法方便以后遇到同样问题的朋友: 其实这个错误的主要问题就是没有找到需要的资源文件(该文件为Resources.r ...
- toolkit学习笔记
- JSP显示不完全问题
这个问题出现之后其实有点让我手足无措,因为根本不知道原因出在哪儿. 因为出现这个问题之后修改过一次代码,所以我以为是因为这次修改出现的问题. 但细想之下,这次的修改根本没有涉及到任何有关这方面的东西. ...
- Linux字符设备
一.linux系统将设备分为3类:字符设备.块设备.网络设备. 字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据.字符设备是面向流的设备,常见的 ...
- 一个getjson()方式调用实例【前后台】,适于跨域访问。
题记:首次发个随笔,把以前写的一个笔记发过来,劝当记录,以供查询. jquery的推出确实解决了大部分程序员都感到头痛的事情,无论是对于UI的访问和处理,还是在一系列的远程访问等方面都有了很大的改善, ...