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

时间:2011-08-15 21:56:28

标签: java android camera flashlight

我的问题是我正在尝试了解相机,现在我已经制作了一款可以在HTC Wildfire上打开手电筒的应用程序,我的Wildfire运行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中添加了多个Camera支持!

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

Camera.open( cameraId );

但他告诉我,他有一个手电筒应用程序,可以打开他的闪光灯没有问题。那么为什么我无法连接它,他的手电筒应用程序可以吗?

1 个答案:

答案 0 :(得分:1)

请检查清单文件中的这些行:

<!-- 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" />

以下是与手电筒相关的一些项目,您可以尝试使用源代码:

OpenSource代码:http://code.google.com/p/torch/source/browse/

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

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