在Android 2.2中,我如何选择合适的相机来打开手电筒?



我的问题是,我正试图了解相机,现在我已经做了一个应用程序,可以打开手电筒在我的HTC野火,我的野火运行Android 2.2。

下面是我使用的代码:
//Flash portion
camera = Camera.open();
parameters = camera.getParameters();
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);

现在我让我的朋友测试它,看看它是否在他的手机上工作,但它没有…他有一台Optimus 2X(Android v. 2.2.2),有两个摄像头。当他打开应用程序时,什么也没发生,我怀疑这是因为它连接错了摄像头。所以我做了我的研究,发现在2.3中添加了多摄像头支持!

但是我必须运行2.2版本才能在我的手机和他的手机上工作,并且在2.2中你不能使用:

Camera.open( cameraId );

但是他告诉我,他有一个手电筒应用程序,可以毫无问题地打开他的闪光灯。那为什么我连不上,而他的手电筒应用可以?

请检查Manifest文件中的这些行:

<!-- Allows access to the flashlight -->
<permission android:name="android.permission.FLASHLIGHT"
         android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
         android:protectionLevel="normal"
         android:label="@string/permlab_flashlight"
         android:description="@string/permdesc_flashlight" />

这里有一些与手电筒相关的项目,你可以试试源代码:

开放源代码:http://code.google.com/p/torch/source/browse/

显示如何在Motorola Droid上启用LED的示例:http://code.google.com/p/droidled/

另一个开源代码:http://code.google.com/p/covedesigndev/

最新更新