当前位置: 首页 > 编程笔记 >

Android 7.0 手电筒控制实现

壤驷骁
2023-03-14
本文向大家介绍Android 7.0 手电筒控制实现,包括了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 = 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应用程序。当我使用手电筒时,亮度太强了。我想降低闪光灯的亮度。我已经使用相机和闪光灯模式作为火炬。请有人帮忙降低手电筒的亮度。谢谢你..

  • 一个简洁实用的手电筒应用,没有多余的花样,一开即亮,支持1-10hz的闪频。 开发者@Jaykie 温馨提示:连续使用手电筒会显著缩短电池寿命! [Code4App.com]

  • 京宝手电筒是我发布的第一个作品,主要是利用手机屏幕变色来提供照明服务的,通过点击屏幕变换颜色, 希望大家给点试用且给一些好的建议,此版本是基于android 1.5开发的,有需要源码的朋友加我QQ 软件里有 如果下载不了可以到http://down.51cto.com/data/165043 来下载

  • 本文向大家介绍android通过led实现手电筒功能,包括了android通过led实现手电筒功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了android通过led实现手电筒功能的具体代码,供大家参考,具体内容如下 第一步 添加权限: 第二步 实现手电筒工具类: 第三步 添加手电筒按钮的触发事件(这里是在布局文件中通过onclick实现的) 手电筒功能比较简单,这里实现了一步开

  • 本文向大家介绍Android Camera开发手电筒功能,包括了Android Camera开发手电筒功能的使用技巧和注意事项,需要的朋友参考一下 这是一个简单的运用Android Camera开发手电筒功能,AndroidManifest.xml文件的入口是startapp,这个文件没上传上来,大家可以自己写。 flashlight.java 布局文件代码 AndroidManifest.xml

  • 本文向大家介绍python使用itchat实现手机控制电脑,包括了python使用itchat实现手机控制电脑的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python使用itchat实现手机控制电脑的具体代码,供大家参考,具体内容如下 1.准备材料 首先电脑上需要安装了python,安装了opencv更好(非必需) 如果安装了opencv的话,在opencv的python目录下找