Java 如何计算安卓相机的光圈角

Java 如何计算安卓相机的光圈角,java,android,camera,hardware,Java,Android,Camera,Hardware,是否有可能在运行期间找出相机设备的光圈角度。我曾尝试使用getParameters().getHorizontalViewAngle()函数,但它返回360.0度。实际值应该是45度或类似的值 有人有过这样的经历吗? Thx我可以告诉您的是,您不能信任getHorizontalViewingAngle()。理论上,这个函数应该得到正确的值,但根据我的经验,很多手机都只是硬编码了一个随机值。它可能是360度,就像你的情况一样,10度(我听说的另一款手机),或者具有相同的垂直和水平视角,这是不正确的

是否有可能在运行期间找出相机设备的光圈角度。我曾尝试使用
getParameters().getHorizontalViewAngle()
函数,但它返回360.0度。实际值应该是45度或类似的值

有人有过这样的经历吗?
Thx

我可以告诉您的是,您不能信任getHorizontalViewingAngle()。理论上,这个函数应该得到正确的值,但根据我的经验,很多手机都只是硬编码了一个随机值。它可能是360度,就像你的情况一样,10度(我听说的另一款手机),或者具有相同的垂直和水平视角,这是不正确的。唯一可靠的方法是通过光学元件测量或确定您想要支持的每一部手机

查看@mat ball comment,了解如何测量它,并查看这篇关于iPhone的文章,了解如何计算它(假设您有关于芯片大小和所有其他方面的详细信息)

原因是Android API中的函数必须具有非空值,并且要将手机识别为Android手机,必须通过一些自动测试。制造商只需填写一个值,以确保其API实现得到验证。 ()

很抱歉让你失望,但这是事实:)

编辑

如果要在放大或缩小时使用此选项来提取动态视角,则即使获取了可调整的值,也不要使用getHVA(),因为它不会像人们所认为的那样随着缩放而改变

不幸的是,
gHVA()
似乎是最好的选择。