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)文章
SurfaceView播放視頻發(fā)送彈幕并實(shí)現(xiàn)滾動(dòng)歌詞
這篇文章主要為大家詳細(xì)介紹了SurfaceView播放視頻發(fā)送彈幕并實(shí)現(xiàn)滾動(dòng)歌詞,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
Android使用TabLayou+fragment+viewpager實(shí)現(xiàn)滑動(dòng)切換頁(yè)面效果
這篇文章主要介紹了Android使用TabLayou+fragment+viewpager實(shí)現(xiàn)滑動(dòng)切換頁(yè)面效果,需要的朋友可以參考下2017-05-05
android實(shí)現(xiàn)圖片閃爍動(dòng)畫(huà)效果的兩種實(shí)現(xiàn)方式(實(shí)用性高)
本文通過(guò)兩種方法給大家講解了android實(shí)現(xiàn)圖片閃爍動(dòng)畫(huà)效果,實(shí)用性非常高,對(duì)這兩種方法感興趣的朋友一起通過(guò)本文學(xué)習(xí)吧2016-09-09
Android中使用GridLayout網(wǎng)格布局來(lái)制作簡(jiǎn)單的計(jì)算器App
這篇文章主要介紹了Android中使用GridLayout網(wǎng)格布局來(lái)制作簡(jiǎn)單的計(jì)算器App的實(shí)例,GridLayout比表格布局TabelLayout更容易用來(lái)制作計(jì)算器這樣的多按鈕排列的界面,需要的朋友可以參考下2016-04-04
Android開(kāi)發(fā)手冊(cè)RatingBar星級(jí)評(píng)分控件實(shí)例
這篇文章主要為大家介紹了Android開(kāi)發(fā)手冊(cè)RatingBar星級(jí)評(píng)分控件實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Android 開(kāi)發(fā)手機(jī)(三星)拍照應(yīng)用照片旋轉(zhuǎn)問(wèn)題解決辦法
這篇文章主要介紹了Android 開(kāi)發(fā)手機(jī)(三星)拍照應(yīng)用照片旋轉(zhuǎn)問(wèn)題解決辦法的相關(guān)資料,需要的朋友可以參考下2017-04-04
Android開(kāi)機(jī)畫(huà)面的具體修改方法
Android開(kāi)機(jī)畫(huà)面的具體修改方法,需要的朋友可以參考一下2013-06-06

