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扫描倒立相关推荐

  1. Android之ZXing扫描二维码以及生成二维码

    Android之ZXing扫描二维码以及生成二维码 ZXIng项目地址:ZXing地址 项目结构 扫描二维码:使用 CaptureActivity类 项目代码: import android.cont ...

  2. Zxing 扫描码的ios简化版搭建过程

    (一) 什么是zxing ZXing(发音为"斑马线")是一个开放源码的,多种格式的1D/2D条码图像处理库,用objective-c实现的,与其他语言的端口.我们的重点是使用内置 ...

  3. zxing扫描条形码 ios

    在ios中使用zxing扫描条形码: 1.在- (IBAction)scanPressed:(id)sender方法中: ZXingWidgetController *widController = ...

  4. zxing 扫描闪退

    zxing 扫描框调整放大之后,部分机型会出现扫描后闪退现象,原因是在 MipcaActivityCapture的handleDecode方法中向bundle中添加的bitmap过大, 代码是bund ...

  5. 使用ZXing扫描多个二维码,条形码

    通常情况下,我们在扫描二维码的时候是一个一个去扫的,那么能不能一次扫描多个二维码,一下解析所有结果呢?答案是有的,其实ZXing是给我们提供方法了.但是可惜的是,扫描条形码的时候,ZXing并没有给我 ...

  6. Android 相机方向传感,Nexus 5x反向横向传感器修复在Android相机预览...

    我是Android开发中的新手,所以如果我的问题很简单,我会提前道歉.在我的应用程序的一部分,我需要我的后置摄像头的实时预览,所以我创建了一个自定义类,扩展SurfaceView并实现SurfaceH ...

  7. 记一次脑残的入手nexus 5x

    Android O即将发布正式版,想入手个原生机捣鼓捣鼓,于是某宝入手了一个nexus 5x 16g;买回来发现imei不一致,不过原生系统推送什么的都正常也就算了,毕竟一分钱一分货嘛! 进入正题:本 ...

  8. 1.Nexus 5x 刷机Android8.1 root-《frida安卓逆向协议爬虫》

    <frida安卓逆向协议爬虫>系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 目录 前言 如今 ...

  9. 【Android】Nexus 5X 环境配置

    Nexus 5X 刷机root 前言 本来只是想学frida的,但是后面发现,模拟机很多东西都没有用(有些app安装不了.对root进行检查.禁用frida-) 在网上搜索教程,看到Github上一个 ...

最新文章

  1. win7系统电脑语言栏怎么更换输入法
  2. kafka的消费者客户端偏移的维护
  3. SVM原理以及Tensorflow 实现SVM分类(附代码)
  4. 启动tomcat和java步骤
  5. 什么是REST架构 - z
  6. Atitit uke各大事业部规划 约365个事业部
  7. 相对地址转化为绝对地址
  8. 视觉SLAM十四讲学习笔记——ch10 后端2
  9. 在Maya和ZBrush中制作战士模型
  10. 数字图像处理 冈萨雷斯 一些理解
  11. 计算机每次启动都要系统修复,win7电脑每次开机都要重启路由器才能上网的修复方法...
  12. Win10如何关闭win11自动更新?
  13. 我用 Python 写了一个AI 玩星际争霸2
  14. 2022年大数据技能大赛国赛(模块A,B)
  15. hecto - 手把手教你写个 文本编辑器
  16. te40终端不设网关_华为TE40视频会议维修,华为视频会议终端维修
  17. Linux系统中的进程管理
  18. 回顾这两个月的面试总结,不断的试错不断地坚持!!你也可以的
  19. 基于android蓝牙zigbee的led路灯监控系统设计,基于ZigBee的智能小区LED路灯控制系统设计...
  20. 从PDF复制英文到word变成宋体——解决办法

热门文章

  1. git系列------如何升级fw(测试专用)
  2. [附源码]java毕业设计基于健身房管理系统
  3. 相机视角 frustum截头锥体
  4. 如何在if语句中表示多个条件?
  5. 稀疏矩阵的快速转置(C语言版)
  6. 网易有道笔试归来感想!
  7. 牛客 NC15108 道路建设
  8. ELI5:导数,偏导数
  9. shell编程入门、shell编程的基础知识(变量、命令、运算)、shell编程的语句
  10. javafx音乐播放器----歌词同步实时显示(包含获取酷我歌词方式,歌词同步方法)