Android 7.0 手電筒控制實(shí)現(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處理;首先簡單的對兩個(gè)類進(jìn)行說明:
(1)CameraManager.java:
可通過CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);獲得,通過此類與相機(jī)設(shè)備進(jìn)行通信。
(2)CameraCharacteristics.java:
給定指定的相機(jī)設(shè)備ID,通過此類查詢相關(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);
//查詢該攝像頭組件是否包含閃光燈
Boolean flashAvailable = c.get(CameraCharacteristics.FLASH_INFO_AVAILABLE);
/*
* 獲取相機(jī)面對的方向
* 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) {
//打開或關(guān)閉手電筒
mCameraManager.setTorchMode(id, OPEN? true:false);
}
}
} catch (CameraAccessException e) {
e.printStackTrace();
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。
上一篇:android實(shí)現(xiàn)條目倒計(jì)時(shí)功能
欄 目:Android
下一篇:android特賣列表倒計(jì)時(shí)卡頓問題的解決方法
本文標(biāo)題:Android 7.0 手電筒控制實(shí)現(xiàn)
本文地址:http://www.jygsgssxh.com/a1/Android/9182.html
您可能感興趣的文章
- 01-10Android自定義View之繪制圓形頭像功能
- 01-10Android實(shí)現(xiàn)雙擊返回鍵退出應(yīng)用實(shí)現(xiàn)方法詳解
- 01-10android實(shí)現(xiàn)記住用戶名和密碼以及自動登錄
- 01-10android實(shí)現(xiàn)簡單計(jì)算器功能
- 01-10Android 友盟第三方登錄與分享的實(shí)現(xiàn)代碼
- 01-10android實(shí)現(xiàn)指紋識別功能
- 01-10Emoji表情在Android JNI中的兼容性問題詳解
- 01-10Android實(shí)現(xiàn)圓形漸變加載進(jìn)度條
- 01-10android開發(fā)環(huán)境中SDK文件夾下的所需內(nèi)容詳解
- 01-10android異步消息機(jī)制 源碼層面徹底解析(1)


閱讀排行
本欄相關(guān)
- 01-10Android自定義View之繪制圓形頭像功能
- 01-10Android實(shí)現(xiàn)雙擊返回鍵退出應(yīng)用實(shí)現(xiàn)方
- 01-10android實(shí)現(xiàn)簡單計(jì)算器功能
- 01-10android實(shí)現(xiàn)記住用戶名和密碼以及自動
- 01-10C++自定義API函數(shù)實(shí)現(xiàn)大數(shù)相乘算法
- 01-10Android 友盟第三方登錄與分享的實(shí)現(xiàn)代
- 01-10android實(shí)現(xiàn)指紋識別功能
- 01-10如何給Flutter界面切換實(shí)現(xiàn)點(diǎn)特效
- 01-10Android實(shí)現(xiàn)圓形漸變加載進(jìn)度條
- 01-10Emoji表情在Android JNI中的兼容性問題詳
隨機(jī)閱讀
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-10C#中split用法實(shí)例總結(jié)
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10delphi制作wav文件的方法
- 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
- 04-02jquery與jsp,用jquery


