2012-12-27 25 views
2

我的應用需要運行在Android 2.2及更高版本上。我需要一種方法來確定可用照相機的數量。有一些帖子解決這個問題,但我找不到一個可行的。Android:確定2.2和更高版本的攝像頭數

一個解決方案僅僅是檢測操作系統版本,任何2.2版本只能限制在1個攝像頭(即使設備真的有2個攝像頭),但我仍然無法確定任何版本的攝像頭數量大於2.2。

回答

4

早期的操作系統版本不支持多臺攝像機,所以你可以假設你有1臺設備,即使設備有2臺,也不支持標準的Android API。對於較新的操作系統版本,只需使用Camera.getNumberOfCameras()Camera.getCameraInfo()與API級防範聲明:

int numCameras = 1; 
if (Build.Version.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { 
    numCameras = Camera.getNumberOfCameras(); 
} 
+0

我沿着這些線路的思維,但它是我不清楚你如何使用getNumberOfCameras/getCameraInfo當這些方法都沒有可在2.2中找到。有沒有辦法在運行2.2的設備上使用API​​ 9或更高版本,並檢測它是否大​​於8?你能提供一些示例代碼嗎? – AndroidDev

+0

沒有什麼特別的,使用更新的API的常規方式,請參閱更新的答案。 –

+0

好的,但是我必須在我的AndroidManifest.xml中做些什麼嗎?目前我有minSdkVersion =「8」和targetSdkVersion =「8」。我是否必須將targetSdkVersion設置爲高於8和/或minSdkVersion的值? – AndroidDev

相關問題