У меня есть код для создания снимка, который работает, но после того, как он добирается до PictureCallback()
, он продолжает прерываться по коду, и я заканчиваю выполнение другого кода, прежде чем у меня есть свой байт массив. Есть ли способ остановить это? Это займет всего миллисекунды, и я не думаю, что я бы не отказался от потока пользовательского интерфейса.Android PictureCallback необходимо выполнить сначала, а затем продолжить с другим кодом
private static byte[] patronImage;
.
.
.
takePatronPicture();
//I want to do something with patronImage here, but the next line
//gets executed almost immediately while getJpegCallback is still
//doing its thing.
code that does something with patronImage;
.
.
.
public void takePatronPicture(){
if (camera != null) {
try {
SurfaceView surfaceView = (SurfaceView)getView().findViewById(R.id.surfaceView1);
camera.setPreviewDisplay(surfaceView.getHolder());
camera.startPreview();
camera.takePicture(null, null, getJpegCallback);
}
catch(Exception e) {
e.printStackTrace();
}
}
}
final PictureCallback getJpegCallback = new PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
try {
patronImage = data;
camera.release();
camera = null;
} catch (final Exception e) {
e.printStackTrace();
}
}
};
Спасибо. Иногда я не вижу корму для деревьев. – Clutch