Android中判斷是否有前置攝像頭、后置攝像頭的方法
通常我們進行攝像頭操作,如掃描二維碼需要判斷是否有后置攝像頭(Rear camera),比如Nexus 7 一代就沒有后置攝像頭,這樣在嘗試使用的時候,我們需要進行判斷進行一些提示或者處理。
以下代碼為一系列的方法,用來判斷是否有前置攝像頭(Front Camera),后置攝像頭。
private static boolean checkCameraFacing(final int facing) {
if (getSdkVersion() < Build.VERSION_CODES.GINGERBREAD) {
return false;
}
final int cameraCount = Camera.getNumberOfCameras();
CameraInfo info = new CameraInfo();
for (int i = 0; i < cameraCount; i++) {
Camera.getCameraInfo(i, info);
if (facing == info.facing) {
return true;
}
}
return false;
}
public static boolean hasBackFacingCamera() {
final int CAMERA_FACING_BACK = 0;
return checkCameraFacing(CAMERA_FACING_BACK);
}
public static boolean hasFrontFacingCamera() {
final int CAMERA_FACING_BACK = 1;
return checkCameraFacing(CAMERA_FACING_BACK);
}
public static int getSdkVersion() {
return android.os.Build.VERSION.SDK_INT;
}
注意:由于getNumberOfCameras以及getCameraInfo均為API 9 引入,所以方法只適用于2.3及其以上。
延伸閱讀:http://developer.android.com/reference/android/hardware/Camera.html http://developer.android.com/reference/android/hardware/Camera.CameraInfo.html
相關文章
Android 系統(tǒng)net和wap接入點的區(qū)別
這篇文章主要介紹了Android 系統(tǒng)net和wap接入點的區(qū)別的相關資料,需要的朋友可以參考下2016-09-09
Android中使用BitmapShader類來制作各種圖片的圓角
這篇文章主要介紹了Android中使用BitmapShader類來制作各種圖片的圓角的方法,文中隨教程講解帶出的例子可以輕松控制圖片圓形的變換,很好很強大,需要的朋友可以參考下2016-04-04
Android性能優(yōu)化之利用強大的LeakCanary檢測內存泄漏及解決辦法
本篇文章主要介紹了Android性能優(yōu)化之利用LeakCanary檢測內存泄漏及解決辦法,有興趣的同學可以了解一下。2016-11-11
Android?縮放動畫?ScaleAnimation的使用小結
ScaleAnimation即縮放動畫,應用場景特別多,比如常見的隱藏菜單點擊顯示,這篇文章主要介紹了Android?縮放動畫?ScaleAnimation的使用小結,需要的朋友可以參考下2024-03-03

