如何使用未找到但已枚举的密钥(安卓工作室)

p1tboqfb  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(402)

在我的示例中,我使用的是camera2api。我可以使用cameracharacteristics.control\u ae\u lock\u available,但是cameracharacteristics.mediatek\u face\u feature\u available\u signature\u modes如何?显然android工作室会说找不到符号变量。
但是下面的代码将此密钥枚举为com.mediatek.facefeature.availablegesturemodes。如何使用不属于androidstudio等标准列表的枚举键?

for (CameraCharacteristics.Key <?> key : characteristics.getKeys()) {
                   for (CaptureRequest.Key<?> key : myrequest.getKeys()) {

                        mystring.append(key.getName() + "\n");

                     }
c6ubokkw

c6ubokkw1#

好吧,对于那个特定的键,已经有一个来自对getkeys的调用和迭代,所以您可以只查找一个具有您想要的名称的键,然后将其用于 CameraCharacteristics.get(Key) 或者 CaptureRequest.Builder.set(Key, value) .
您还可以直接构造key对象—构造函数在api 29中是公共的。你需要密钥名,比如 com.mediatek.facefeature.availablegesturemodes ,您还需要知道密钥的类型。因此,在名称上迭代和匹配以查找键可能更简单,而且也适用于早期的api。
当然,这些自定义密钥只能在某些设备上工作,因此您必须使代码对丢失的密钥保持健壮。没有保证,除非一个特定的原始设备制造商说,关键是要可靠。

相关问题