Android 7.0 手电筒控制实现

Android 7.0 手电筒控制实现,第1张

概述Android 7.0 手电筒控制实现 在AndroidN(7.0)前你对手电筒的控制也许是这样的: Camera camera = Camera.open(); if(open){ Parameters mParameters = camera.getParameters(); mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); camera.setParameters(mParameters); } else { Parameters mParameters

在AndroIDN(7.0)前你对手电筒的控制也许是这样的:

Camera camera = Camera.open();if(open){  Parameters mParameters = camera.getParameters();  mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);  camera.setParameters(mParameters);} else {  Parameters mParameters = camera.getParameters();  mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);  camera.setParameters(mParameters);}camera.release();

但在AndroID N(7.0)及以后,也许你就发现不灵了,那你就需要这样做了:

在AndroID(M)6.0 后,AndroID引入了新的API,对闪光灯的控制通过CameraManager处理;首先简单的对两个类进行说明:

(1)CameraManager.java:

可通过CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);获得,通过此类与相机设备进行通信。

(2)Cameracharacteristics.java:

给定指定的相机设备ID,通过此类查询相关硬件信息。

手电筒 *** 作

try {  //获取CameraManager  CameraManager mCameraManager = (CameraManager) MyApplication.getContext().getSystemService(Context.CAMERA_SERVICE);  //获取当前手机所有摄像头设备ID  String[] IDs = mCameraManager.getCameraIDList();  for (String ID : IDs) {    Cameracharacteristics c = mCameraManager.getCameracharacteristics(ID);    //查询该摄像头组件是否包含闪光灯    Boolean flashAvailable = c.get(Cameracharacteristics.FLASH_INFO_AVAILABLE);    /*    * 获取相机面对的方向    * Cameracharacteristics.LENS_FACING_FRONT 前置摄像头    * Cameracharacteristics.LENS_FACING_BACK 后只摄像头    * Cameracharacteristics.LENS_FACING_EXTERNAL 外部的摄像头    */    Integer lensFacing = c.get(Cameracharacteristics.LENS_FACING);    if (flashAvailable != null && flashAvailable        && lensFacing != null && lensFacing == Cameracharacteristics.LENS_FACING_BACK) {      //打开或关闭手电筒      mCameraManager.setTorchMode(ID,OPEN? true:false);    }  }} catch (CameraAccessException e) {  e.printstacktrace();}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

总结

以上是内存溢出为你收集整理的Android 7.0 手电筒控制实现全部内容,希望文章能够帮你解决Android 7.0 手电筒控制实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1145731.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存