0

问题描述

我正在为 Android 设备编写一个简单的小部件。当用户按下小部件时,相机手电筒必须关闭和打开。当我在 Sony Ericsson Arc 上启动 Widget 时,我的 Widget 工作正常,但当我尝试在Samsung NexusSSamsung Galaxy SII上启动 Widget 时,它什么也不做(不起作用)


研究

我用谷歌搜索了这个问题并找到了一些答案。大多数用户建议使用 SurfaceView 和真正的表面视图,如果将其放置在活动上,1 像素大小的真正表面视图确实有效,但在我的情况下它不起作用(Widget 不支持 SurfaceViw)

Galaxy Nexus 上的 LED 手电筒可由什么 API 控制?

我发现这篇文章非常有用,但是如果我想从小部件打开灯,我该如何使用它呢?我知道我不能在小部件视图中使用 Surface 视图,因为它尚不受支持,有什么想法吗?


问题

请为我提供一些链接、开源项目或文章,或者有助于我如何从 Nexus S One 和 Galaxy S II 上的小部件打开/关闭灯的内容。

是否有任何通用代码可用于在不同手机上使用相机?任何信息都会有所帮助。

也许我需要使用本机库?

谢谢。

4

2 回答 2

1

没有官方的 android API 允许您单独操作相机闪光灯。您必须通过官方相机 API - 它并没有正式定义如何操作闪光灯 LED。您可以设置不同的模式,但相机软件可以随意忽略它。

因此,如果这适用于索尼,则不必为其他硬件提供支持。不过,可能存在(并且很可能存在)一些供应商特定的未记录 API。

于 2012-12-14T13:05:06.993 回答
0

响应有点晚,但是,相机必须通过某些设备上的表面才能打开闪光灯。鉴于表面视图不适用,您需要改为实现表面纹理,从 api 11 开始可用

于 2014-03-05T15:26:04.417 回答