如何解决无法在包外部访问类-camera2 CameraCharacteristics.Key
我正在使用Camera2 API,并且无法构造要查找的密钥 例如
public static CameraCharacteristics.Key<Byte> IS_SUPPORT_QCFA_SENSOR =
new CameraCharacteristics.Key<>("org.codeaurora.qcamera3.quadra_cfa.is_qcfa_sensor",Byte.class);
导致该消息
'Key(java.lang.String,java.lang.Class<T>)' is not public in 'android.hardware.camera2.CameraCharacteristics.Key'. Cannot be accessed from outside package
但是要查找密钥,必须构造它们。 developer.android.com上的文档说是
public static final class CameraCharacteristics.Key
如何构造密钥?或解决此问题?
解决方法
最近在看类似的东西发现了这个。看一下来自:
的示例他们使用 CaptureRequest 而不是 CameraCharacteristics 来定义键,并且一旦定义了相机设备就可以访问。
可能值得一试,链接有更多详细信息。
private static CaptureRequest.Key<Integer> CdsModeKey =
new CaptureRequest.Key<>("org.codeaurora.qcamera3.CDS.cds_mode",Integer.class);
and
private static boolean isSupported(CaptureRequest.Builder builder,CaptureRequest.Key<?> key) {
boolean supported = true;
try {
builder.get(key);
}catch(IllegalArgumentException exception){
supported = false;
Log.d(TAG,"vendor tag " + key.getName() + " is not supported");
exception.printStackTrace();
}
if ( supported ) {
Log.d(TAG,"vendor tag " + key.getName() + " is supported");
}
return supported;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。