Nexus 5X 使用Zxing扫描倒立
Nexus 5X 使用Zxing扫描倒立的原因说是Nexus 5X 的摄像头是倒装的。
今天简单解决下,方案是判断机型如果是Nexus 5X,就倒立摄像头
//解决nexus5x扫码倒立的情况if(android.os.Build.MANUFACTURER.equals("LGE") &&android.os.Build.MODEL.equals("Nexus 5X")) {camera.setDisplayOrientation(270);}
这样就OK了,如图:
下面附加下手机系统详细信息
private String getDeviceInfo(){StringBuffer sb =new StringBuffer();sb.append("主板:"+android.os.Build.BOARD);sb.append("\n系统启动程序版本号:"+ android.os.Build.BOOTLOADER);sb.append("\n系统定制商:"+android.os.Build.BRAND);sb.append("\ncpu指令集:"+android.os.Build.CPU_ABI);sb.append("\ncpu指令集2:"+android.os.Build.CPU_ABI2);sb.append("\n设置参数:"+android.os.Build.DEVICE);sb.append("\n显示屏参数:"+android.os.Build.DISPLAY);sb.append("\n无线电固件版本:"+android.os.Build.getRadioVersion());sb.append("\n硬件识别码:"+android.os.Build.FINGERPRINT);sb.append("\n硬件名称:"+android.os.Build.HARDWARE);sb.append("\nHOST:"+android.os.Build.HOST);sb.append("\n修订版本列表:"+android.os.Build.ID);sb.append("\n硬件制造商:"+android.os.Build.MANUFACTURER);sb.append("\n版本:"+android.os.Build.MODEL);sb.append("\n硬件序列号:"+android.os.Build.SERIAL);sb.append("\n手机制造商:"+android.os.Build.PRODUCT);sb.append("\n描述Build的标签:"+android.os.Build.TAGS);sb.append("\nTIME:"+android.os.Build.TIME);sb.append("\nbuilder类型:"+android.os.Build.TYPE);sb.append("\nUSER:"+android.os.Build.USER);return sb.toString();}
Nexus 5X 的结果如下:
主板:bullhead
系统启动程序版本号:BHZ10k
系统定制商:google
cpu指令集:arm64-v8a
cpu指令集2:
设置参数:bullhead
显示屏参数:MMB29K
无线电固件版本:M8994F-2.6.30.0.68
硬件识别码:google/bullhead/bullhead:6.0.1/MMB29K/2419427:user/release-keys
硬件名称:bullhead
HOST:wpix2.hot.corp.google.com
修订版本列表:MMB29K
硬件制造商:LGE
版本:Nexus 5X
硬件序列号:00845be94c54a76a
手机制造商:bullhead
描述Build的标签:release-keys
TIME:1447281289000
builder类型:user
USER:android-build
: config.version = 1514962991buidldReqConfig{ brand= LGE ,model= Nexus 5X ,os.type= 2 ,os.kernel= 3.10.7
ice bind flag:0
device when device bind flag:false
有更好的方案请各位大神告知。
https://www.zhihu.com/question/52915865
附:
如果使用的是:
https://github.com/yipianfengye/android-zxingLibrary
就找到
CaptureFragment.java 的 initCamera() 方法,找到Camera对象即可,代码如下
private void initCamera(SurfaceHolder surfaceHolder) {try {CameraManager.get().openDriver(surfaceHolder);camera = CameraManager.get().getCamera();//解决nexus5x扫码倒立的情况if(android.os.Build.MANUFACTURER.equals("LGE") &&android.os.Build.MODEL.equals("Nexus 5X")) {camera.setDisplayOrientation(270);}
如果使用的是:https://github.com/chentao0707/ZXingProject
找到CameraManager.java的openDriver()方法,在方法最后添加即可:
public synchronized void openDriver(SurfaceHolder holder) throws IOException {Camera theCamera = camera;if (theCamera == null) {if (requestedCameraId >= 0) {theCamera = OpenCameraInterface.open(requestedCameraId);} else {theCamera = OpenCameraInterface.open();}if (theCamera == null) {throw new IOException();}camera = theCamera;}theCamera.setPreviewDisplay(holder);if (!initialized) {initialized = true;configManager.initFromCameraParameters(theCamera);}Camera.Parameters parameters = theCamera.getParameters();String parametersFlattened = parameters == null ? null : parameters.flatten(); // Save// these,// temporarilytry {configManager.setDesiredCameraParameters(theCamera, false);} catch (RuntimeException re) {// Driver failedLog.w(TAG, "Camera rejected parameters. Setting only minimal safe-mode parameters");Log.i(TAG, "Resetting to saved camera params: " + parametersFlattened);// Reset:if (parametersFlattened != null) {parameters = theCamera.getParameters();parameters.unflatten(parametersFlattened);try {theCamera.setParameters(parameters);configManager.setDesiredCameraParameters(theCamera, true);} catch (RuntimeException re2) {// Well, darn. Give upLog.w(TAG, "Camera rejected even safe-mode parameters! No configuration");}}}//解决nexus5x扫码倒立的情况if(android.os.Build.MANUFACTURER.equals("LGE") &&android.os.Build.MODEL.equals("Nexus 5X")) {camera.setDisplayOrientation(270);}}
但是解决了倒立之后,确无法正常扫描,把手机倒过来才可以正常扫描,目前还没解决。
Nexus 5X 使用Zxing扫描倒立相关推荐
- Android之ZXing扫描二维码以及生成二维码
Android之ZXing扫描二维码以及生成二维码 ZXIng项目地址:ZXing地址 项目结构 扫描二维码:使用 CaptureActivity类 项目代码: import android.cont ...
- Zxing 扫描码的ios简化版搭建过程
(一) 什么是zxing ZXing(发音为"斑马线")是一个开放源码的,多种格式的1D/2D条码图像处理库,用objective-c实现的,与其他语言的端口.我们的重点是使用内置 ...
- zxing扫描条形码 ios
在ios中使用zxing扫描条形码: 1.在- (IBAction)scanPressed:(id)sender方法中: ZXingWidgetController *widController = ...
- zxing 扫描闪退
zxing 扫描框调整放大之后,部分机型会出现扫描后闪退现象,原因是在 MipcaActivityCapture的handleDecode方法中向bundle中添加的bitmap过大, 代码是bund ...
- 使用ZXing扫描多个二维码,条形码
通常情况下,我们在扫描二维码的时候是一个一个去扫的,那么能不能一次扫描多个二维码,一下解析所有结果呢?答案是有的,其实ZXing是给我们提供方法了.但是可惜的是,扫描条形码的时候,ZXing并没有给我 ...
- Android 相机方向传感,Nexus 5x反向横向传感器修复在Android相机预览...
我是Android开发中的新手,所以如果我的问题很简单,我会提前道歉.在我的应用程序的一部分,我需要我的后置摄像头的实时预览,所以我创建了一个自定义类,扩展SurfaceView并实现SurfaceH ...
- 记一次脑残的入手nexus 5x
Android O即将发布正式版,想入手个原生机捣鼓捣鼓,于是某宝入手了一个nexus 5x 16g;买回来发现imei不一致,不过原生系统推送什么的都正常也就算了,毕竟一分钱一分货嘛! 进入正题:本 ...
- 1.Nexus 5x 刷机Android8.1 root-《frida安卓逆向协议爬虫》
<frida安卓逆向协议爬虫>系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 目录 前言 如今 ...
- 【Android】Nexus 5X 环境配置
Nexus 5X 刷机root 前言 本来只是想学frida的,但是后面发现,模拟机很多东西都没有用(有些app安装不了.对root进行检查.禁用frida-) 在网上搜索教程,看到Github上一个 ...
最新文章
- win7系统电脑语言栏怎么更换输入法
- kafka的消费者客户端偏移的维护
- SVM原理以及Tensorflow 实现SVM分类(附代码)
- 启动tomcat和java步骤
- 什么是REST架构 - z
- Atitit uke各大事业部规划 约365个事业部
- 相对地址转化为绝对地址
- 视觉SLAM十四讲学习笔记——ch10 后端2
- 在Maya和ZBrush中制作战士模型
- 数字图像处理 冈萨雷斯 一些理解
- 计算机每次启动都要系统修复,win7电脑每次开机都要重启路由器才能上网的修复方法...
- Win10如何关闭win11自动更新?
- 我用 Python 写了一个AI 玩星际争霸2
- 2022年大数据技能大赛国赛(模块A,B)
- hecto - 手把手教你写个 文本编辑器
- te40终端不设网关_华为TE40视频会议维修,华为视频会议终端维修
- Linux系统中的进程管理
- 回顾这两个月的面试总结,不断的试错不断地坚持!!你也可以的
- 基于android蓝牙zigbee的led路灯监控系统设计,基于ZigBee的智能小区LED路灯控制系统设计...
- 从PDF复制英文到word变成宋体——解决办法