我正在制作自定义相机应用程序.这需要表面视图并在表面视图中打开相机.但是当我在棉花糖上运行相同的应用程序时,我正在使用Runtime permission相机授予权限.我允许对话框消失但黑屏显示,相机无法打开.我也试过在允许后再次调用活动,但它不起作用.
THANX提前.
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
if (preview) {
camera.stopFaceDetection();
camera.stopPreview();
preview = false;
}
if (camera != null) {
preview = true;
// Parameters
Parameters parameters = camera.getParameters();
parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
List<Camera.Size> sizeList = camera.getParameters().getSupportedPreviewSizes();
bestSize = sizeList.get(0);
for (int i = 1; i < sizeList.size(); i++) {
if ((sizeList.get(i).width * sizeList.get(i).height) >
(bestSize.width * bestSize.height)) {
bestSize = sizeList.get(i);
}
}
parameters.setPictureSize(bestSize.width, bestSize.height);
camera.setParameters(parameters);
camera.startPreview();
camera.startFaceDetection();
camera.setFaceDetectionListener(faceDetectionListener);
}
} …Run Code Online (Sandbox Code Playgroud)