Android 5.0.1에서 Nexus 5를 사용하면 이상한 문제가 발생했습니다. 나는 SurfacePreview에서 프레임을 캡처하고 파일에 저장합니다 캡처 버튼이 카메라 앱,이 :Android Lollipop 카메라. 사진 이슈
public void takePicture(final Context context) {
PictureCallback pictureCallback = new PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
File pictureFile = StorageUtils.getOutputMediaFile(context, mIsForeside, null);
if (pictureFile == null) {
return;
}
InputStream is = new ByteArrayInputStream(data);
Bitmap bmp = BitmapFactory.decodeStream(is);
FileOutputStream out = null;
try {
out = new FileOutputStream(pictureFile);
bmp.compress(Bitmap.CompressFormat.PNG, 100, out);
} catch (Exception e) {
} finally {
try {
out.close();
} catch (Throwable ignore) {
}
}
mOnPictureTakenListener.OnPictureTaken(pictureFile.getAbsolutePath());
}
};
mCamera.takePicture(null, null, pictureCallback);
}
이 코드를 안드로이드 4.4을 실행하는 넥서스 5에 잘 작동을하지만, 넥서스에 안드로이드 5.0.1 I와 유물은 다음을 참조하십시오
이 문제를 알고 사람을 했습니까?
카메라 프리 롤리팝 api를 사용하여 SurfaceView 대신 TextureView를 구현하여이 문제를 해결했습니다. – mol