2011-05-18 132 views
5

我知道,我們可以通過設置"camera-id"相機參數訪問前薑餅的Galaxy S設備的前置攝像頭:三星Galaxy S:如何確定前置攝像頭的存在?

Camera cam = Camera.open(); 
Camera.Parameters params = cam.getParameters(); 
params.set("camera-id", 2); 

的問題是,並非所有Galaxy設備有一個前置攝像頭。這兩種設備也有"camera-id"參數,它可以讓我將它設置爲2(前)。據我所知,確定FFC存在/不存在的唯一方法是在"camera-id"爲2時看看startPreview()是否引發異常。這是一種尷尬的修復,特別是當我嘗試支持多個設備時。

有沒有人找到一種方法來查詢上的2.1或2.2的Galaxy S的攝像機的數量,或至少確定前置攝像頭的存在?

謝謝!

回答

2

如果你需要一個前置攝像頭,你可以把在AndroidManifest.xml中是這樣的:

<uses-feature android:name="android.hardware.camera.front" android:required="true" /> 

如果你不需要它,並希望在運行時檢查,你可以使用PackageManager像這樣的:

PackageManager.hasSystemFeature(PackageManager. FEATURE_CAMERA_FRONT); 
+0

感謝您的答覆,但功能只在薑餅(2.3)可用,我需要這在2.1/2.2設備正常工作,使用未真正-證明三星相機開關API。 – mrb 2011-05-18 17:57:02

+0

AndroidManifest部分仍然可以工作。除此之外,真的沒有辦法做到這一點。 Android核心直到2.3才支持前置攝像頭,所以在早期版本中唯一的方法是使用特定於設備的擴展。 – CaseyB 2011-05-18 18:33:23

相關問題