操作闪光灯(手电筒)

  private CameraManager mCameraManager;private boolean mTorchAvailable;private String mCameraId;private boolean mFlashlightEnabled;// 判断是否支持public boolean hasFlashlight() {return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);}mCameraManager = (CameraManager) mContext.getSystemService(Context.CAMERA_SERVICE);try {mCameraId = getCameraId();} catch (Throwable e) {Log.e(TAG, "Couldn't initialize.", e);return;}// 注册针对闪光灯的状态回调if (mCameraId != null) {mCameraManager.registerTorchCallback(mTorchCallback, null);}private String getCameraId() throws CameraAccessException {               String[] ids = mCameraManager.getCameraIdList();for (String id : ids) {CameraCharacteristics c = mCameraManager.getCameraCharacteristics(id);Boolean flashAvailable = c.get(CameraCharacteristics.FLASH_INFO_AVAILABLE);Integer lensFacing = c.get(CameraCharacteristics.LENS_FACING);if (flashAvailable != null && flashAvailable&& lensFacing != null && lensFacing == CameraCharacteristics.LENS_FACING_BACK) {return id;}}return null;}// 状态回调private final CameraManager.TorchCallback mTorchCallback =new CameraManager.TorchCallback() {@Overridepublic void onTorchModeUnavailable(String cameraId) {if (TextUtils.equals(cameraId, mCameraId)) {setCameraAvailable(false);}}@Overridepublic void onTorchModeChanged(String cameraId, boolean enabled) {if (TextUtils.equals(cameraId, mCameraId)) {setCameraAvailable(true);   mFlashlightEnabled = enabled;     }}private void setCameraAvailable(boolean available) {mTorchAvailable = available;}}; // 开启/关闭闪光灯public void setFlashlight(boolean enabled) {synchronized (this) {if (mCameraId == null || !mTorchAvailable){return;  }     if (mFlashlightEnabled != enabled) {mFlashlightEnabled = enabled;try {mCameraManager.setTorchMode(mCameraId, enabled);} catch (CameraAccessException e) {Log.e(TAG, "Couldn't set torch mode", e);                }    }}}

android 开启闪光灯(手电筒)相关推荐

  1. Android开启闪光灯的几种办法

    一.控制硬件的情节 早在2008年开发Symbian和WM程序的时候,就非常好奇如何用我们的代码来控制硬件设备,比如闪光灯就是一个很好的控制对象.我们开发程序,很多乐趣就在于控制.这是一种精神上的愉悦 ...

  2. android手电筒项目代码,Android 开启闪光灯做手电筒 源码-Fun言

    权限: 布局 android:layout_width="fill_parent" android:layout_height="fill_parent" an ...

  3. Android 开启闪光灯做手电筒 源码

    权限:<uses-permission android:name="android.permission.FLASHLIGHT" /><uses-permissi ...

  4. java闪光灯手电筒_Android_Android 开启闪光灯做手电筒的详解,复制代码 代码如下:public class H - phpStudy...

    Android 开启闪光灯做手电筒的详解 public class HandLightActivity extends Activity implements OnClickListener{ pri ...

  5. 0.6闪光灯二进制编码通信android源码手电筒手机密码器频率控制 as4.0版 密码123456 支持所有android2.2到10及以上系统 Android7.0以前和7.0以后开启闪光灯

    演示:0.6闪光灯二进制编码通信android源码手电筒手机密码器频率控制 as4.0版 密码123456.apk http://6.wjsou.com/uploads/1594994912599.a ...

  6. 手电筒软件测试初学者,新手学习android做得一个闪光灯手电筒(测试过很多机型都可以)...

    看到很多刚学习的同志都很纠结按照网上很多代码的实现方法都打开不了闪光灯,确实刚开始也有同感滴啦!希望能给你们一些思路! 废话不多说先上几张图片(有图有真像哦!!!!!!!) 思路:开启闪光灯的方法 我 ...

  7. Android开启手电筒功能(完美适配Android4x,5x,6x)

    原文http://blog.csdn.net/mynameishuangshuai Android4x.5x.6x的手电筒开启方法,写成公共方法,分享给大家. 添加摄像机和闪光灯权限 <uses ...

  8. android 闪光灯(手电筒)工具类,兼容android9.0

    建议使用我新写的工具类,用了单例模式,使用更简单:https://blog.csdn.net/jingzz1/article/details/105787463 android6.0以下使用Camer ...

  9. Android 获取光线强弱,开启闪光灯,关闭闪光灯

    1.获取光线强度 (1)实现传感器接口  implements SensorEventListener 实例化 private SensorManager mSensroMgr;//传感器管理类 mS ...

最新文章

  1. P1031 均分纸牌(经典贪心)
  2. python语言学习零基础教学视频_Python告白小白视频教程(零基础入门)
  3. Xor HDU - 6899
  4. 我很生气,帮了不足一个月就离开了
  5. UVALive 2523 Machine Schedule(二分图求最大匹配数)
  6. matlab2c使用c++实现matlab函数系列教程-eye函数
  7. Java中上转型对象数组
  8. mysql mango_mangodb与mysql的区别及部署
  9. FPGA D触发器实验
  10. IE6 浏览器常见兼容问题
  11. 快递 code与快递名称
  12. 2022-2028年中国新疆旅游行业发展动态及投资前景分析报告
  13. 列表中循环添加字典出现覆盖现象的问题
  14. CSS-浏览器缩放使边框大小改变,导致布局改变的问题
  15. vue简单实现词云图组件
  16. TPC116S8 DAC芯片
  17. win11任务管理器怎么打开?win11任务管理器打开的技巧方法
  18. 2020版idea ij 创建web项目和以往稍有不同。
  19. Android控件 SeekBar
  20. C#项目绩效考核实战提升(一)

热门文章

  1. 【iOS】监听耳机状态
  2. 怎样使用更新域计算机,如何使用Word快捷键来输入当前时间和更新时间域?
  3. 数仓维度建模系列-数仓规范篇
  4. mysqlbinlog恢复mysql表数据
  5. [CF1091F](New Year and the Mallard Expedition)
  6. web 服务端与客户端交互
  7. 4个基本不等式的公式高中_不等式链(高中4个基本不等式链推导)
  8. 【Android】ListView、RecyclerView、ScrollView里嵌套ListView 相对优雅的解决方案:NestFullListView
  9. java 处理物料清单_JAVA Spring MVC 物料清单BOM 展开实例
  10. Thymeleaf select 实现默认选中,使用 th:field 字符串无效问题