5

我的问题是我正在尝试了解相机,现在我制作了一个可以在我的 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 中添加了多个相机支持!

但我必须运行 2.2 版本才能在我的手机和他的手机上运行,​​而在 2.2 中你不能使用:

Camera.open( cameraId );

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

4

1 回答 1

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

下面是一些手电筒相关的项目,你可以试试源码:

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

展示如何在摩托罗拉 Droid 上启用 LED 的示例:http ://code.google.com/p/droidled/

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

于 2011-11-21T07:22:56.303 回答