Android 7.0 手電筒控制實(shí)現(xiàn)
在AndroidN(7.0)前你對(duì)手電筒的控制也許是這樣的:
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,對(duì)閃光燈的控制通過(guò)CameraManager處理;首先簡(jiǎn)單的對(duì)兩個(gè)類(lèi)進(jìn)行說(shuō)明:
(1)CameraManager.java:
可通過(guò)CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);獲得,通過(guò)此類(lèi)與相機(jī)設(shè)備進(jìn)行通信。
(2)CameraCharacteristics.java:
給定指定的相機(jī)設(shè)備ID,通過(guò)此類(lèi)查詢(xún)相關(guān)硬件信息。
手電筒操作
try { //獲取CameraManager CameraManager mCameraManager = (CameraManager) MyApplication.getContext().getSystemService(Context.CAMERA_SERVICE); //獲取當(dāng)前手機(jī)所有攝像頭設(shè)備ID String[] ids = mCameraManager.getCameraIdList(); for (String id : ids) { CameraCharacteristics c = mCameraManager.getCameraCharacteristics(id); //查詢(xún)?cè)摂z像頭組件是否包含閃光燈 Boolean flashAvailable = c.get(CameraCharacteristics.FLASH_INFO_AVAILABLE); /* * 獲取相機(jī)面對(duì)的方向 * 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) { //打開(kāi)或關(guān)閉手電筒 mCameraManager.setTorchMode(id, OPEN? true:false); } } } catch (CameraAccessException e) { e.printStackTrace(); }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- android通過(guò)led實(shí)現(xiàn)手電筒功能
- Android實(shí)現(xiàn)簡(jiǎn)單手電筒功能
- Android實(shí)現(xiàn)手電筒電源鍵關(guān)閉功能
- Android開(kāi)啟閃光燈的方法 Android打開(kāi)手電筒功能
- Android studio編寫(xiě)簡(jiǎn)單的手電筒APP
- Android Camera開(kāi)發(fā)手電筒功能
- Android中編寫(xiě)簡(jiǎn)單的手電筒小應(yīng)用的實(shí)例教程
- Android 通用型手電筒代碼
- Android 開(kāi)啟閃光燈做手電筒的詳解
- Android手電筒兼容各個(gè)手機(jī)與版本
相關(guān)文章
Studio 編譯報(bào)錯(cuò):compileSdkVersion ''android-24'' requires JDK 1.
今天小編就為大家分享一篇關(guān)于Studio編譯報(bào)錯(cuò):compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.的解決辦法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10Android OkHttp的簡(jiǎn)單使用和封裝詳解
這篇文章主要介紹了Android OkHttp的簡(jiǎn)單使用和封裝詳解的相關(guān)資料,Android OKHttp的簡(jiǎn)單get、post的使用,再到它的封裝,需要的朋友可以參考下2016-12-12詳解Android中獲取軟鍵盤(pán)狀態(tài)和軟鍵盤(pán)高度
這篇文章主要介紹了詳解Android中獲取軟鍵盤(pán)狀態(tài)和軟鍵盤(pán)高度的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下2017-10-10Android編程調(diào)用系統(tǒng)自帶的拍照功能并返回JPG文件示例【附demo源碼下載】
這篇文章主要介紹了Android編程調(diào)用系統(tǒng)自帶的拍照功能并返回JPG文件,結(jié)合實(shí)例形式分析了Android的拍照功能調(diào)用及圖形文件操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-07-07關(guān)于Android中Gradle和jar包下載慢的問(wèn)題及解決方法
這篇文章主要介紹了解決Android中Gradle和jar包下載慢的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10Android編程實(shí)現(xiàn)圖片放大縮小功能ZoomControls控件用法實(shí)例
這篇文章主要介紹了Android編程實(shí)現(xiàn)圖片放大縮小功能ZoomControls控件用法,結(jié)合具體實(shí)例形式分析了Android ZoomControls控件實(shí)現(xiàn)圖片縮放的具體操作方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-09-09Android手機(jī)獲取root權(quán)限并實(shí)現(xiàn)關(guān)機(jī)重啟功能的方法
這篇文章主要介紹了Android手機(jī)獲取root權(quán)限并實(shí)現(xiàn)關(guān)機(jī)重啟功能的方法,是Android程序設(shè)計(jì)中非常重要的技巧,需要的朋友可以參考下2014-08-08Android Studio 設(shè)置代碼提示和代碼自動(dòng)補(bǔ)全快捷鍵方式
這篇文章主要介紹了Android Studio 設(shè)置代碼提示和代碼自動(dòng)補(bǔ)全快捷鍵方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03Android 中SQLite技術(shù)實(shí)例詳解
這篇文章主要介紹了Android 中SQLite技術(shù)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06