Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android 中如何獲取camera當前狀態

android 中如何獲取camera當前狀態

編輯:關於Android編程

android中,

調用攝像頭需要判斷當前攝像頭的狀態,沒找到對應的方法,

采用了個折中方法。

在非main線程裡調用Camera.open,catch 相應的RuntimeException,

 

 

[java]
<SPAN style="COLOR: #cc6600; FONT-SIZE: 14px">    <span style="white-space:pre">  </span>/** 
         * 測試當前攝像頭能否被使用 
         * @return 
         */   
        public static boolean isCameraCanUse() {   
            boolean canUse = true;   
            Camera mCamera = null;   
            try {   
                // TODO camera驅動掛掉,處理??    
                mCamera = Camera.open();   
            } catch (Exception e) {   
                canUse = false;   
            }   
            if (canUse) {   
                mCamera.release();   
                mCamera = null;   
            }   
               
            return canUse;   
        }  </SPAN> 

    <span style="white-space:pre">  </span>/**
         * 測試當前攝像頭能否被使用
         * @return
         */ 
        public static boolean isCameraCanUse() { 
            boolean canUse = true; 
            Camera mCamera = null; 
            try { 
                // TODO camera驅動掛掉,處理?? 
                mCamera = Camera.open(); 
            } catch (Exception e) { 
                canUse = false; 
            } 
            if (canUse) { 
                mCamera.release(); 
                mCamera = null; 
            } 
             
            return canUse; 
        } 

需要注意的是應該在自己程序的非UI線程中進行上面的判斷,因為進入自己的UI線程會導致當前其他程序正在拍攝視頻自動終止,
因為UI線程只能有一個在運行。

這個方法可用,但是如果攝像頭沒有被使用,open和release會白白消耗些資源,另外camera驅動進程掛掉的情況沒有考慮

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved