欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 7.0 手電筒控制實現(xiàn)

 更新時間:2019年09月23日 11:21:34   作者:angel鹿  
這篇文章主要為大家詳細介紹了Android 7.0 手電筒控制實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下

在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)及以后,也許你就發(fā)現(xiàn)不靈了,那你就需要這樣做了:

在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();
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論