您好,登錄后才能下訂單哦!
小編給大家分享一下Android7.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();}
以上是“Android7.0如何實現手電筒控制”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。