我是Android开发的新手,但拥有Java / C#经验。我想用相机api拍照,在屏幕上显示并保存到磁盘。
我喜欢使用最新的api,它说android.hardware.Camera已经过时,我们应该使用android.hardware.camera2。我搜索了互联网,但在android.hardware.camera2上找不到一些信息。
这就是我现在所拥有的。
CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
String[] ids = manager.getCameraIdList();
for (String id : ids) {
CameraCharacteristics ch = manager.getCameraCharacteristics(id);
if (ch.get(CameraCharacteristics.LENS_FACING) == CameraCharacteristics.LENS_FACING_BACK) {
manager.openCamera(id, new CameraCallback(), null);
}
}
class CameraCallback extends CameraDevice.StateCallback {
@Override
public void onOpened(CameraDevice camera) {
try {
CaptureRequest.Builder captureBuilder = camera.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
@Override
public void onDisconnected(CameraDevice camera) { }
@Override
public void onError(CameraDevice camera, int error) { }
}
在CaptureRequest.Builder captureBuilder
我应该做什么之后,我不知道。我想看一些样品。
此外,我应该使用什么控件来显示图像?